From 93f821b4db4adacdd05c24087f75fec88288dd3a Mon Sep 17 00:00:00 2001 From: Lucas Russo Date: Tue, 5 May 2020 12:06:02 -0300 Subject: [PATCH] src/apps: fix halcs config file to be not relocatable CPack places it under /usr/etc otherwise. --- .../halcs_generic_udev/CMakeConfigureInstall.cmake | 8 +++++--- src/apps/halcs_generic_udev/CMakeLists.txt | 10 +++++++++- src/apps/halcsd/CMakeConfigureInstall.cmake | 8 +++++--- src/apps/halcsd/CMakeLists.txt | 12 ++++++++++-- 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/apps/halcs_generic_udev/CMakeConfigureInstall.cmake b/src/apps/halcs_generic_udev/CMakeConfigureInstall.cmake index e817d511..61277da0 100644 --- a/src/apps/halcs_generic_udev/CMakeConfigureInstall.cmake +++ b/src/apps/halcs_generic_udev/CMakeConfigureInstall.cmake @@ -32,6 +32,10 @@ if(NOT DEFINED UDEV_SYSCONFDIR) message(FATAL_ERROR "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): error: Variable UDEV_SYSCONFDIR is not defined.") endif() +if(NOT DEFINED HALCS_SYSCONFDIR) + message(FATAL_ERROR "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): error: Variable HALCS_SYSCONFDIR is not defined.") +endif() + if(NOT DEFINED NOPREFIX_HALCS_SYSCONFDIR) message(FATAL_ERROR "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): error: Variable NOPREFIX_HALCS_SYSCONFDIR is not defined.") endif() @@ -60,11 +64,9 @@ set(halcs_generic_udev_SYSTEMD_CONF_INSTALL_DIR "${SYSTEMD_CONF_INSTALL_DIR}") set(halcs_generic_udev_CMAKE_INSTALL_FULL_BINDIR "${CMAKE_INSTALL_FULL_BINDIR}") set(halcs_generic_udev_CMAKE_INSTALL_FULL_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}") -set(halcs_generic_udev_CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}") -set(halcs_generic_udev_HALCS_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/${NOPREFIX_HALCS_SYSCONFDIR}") -set(halcs_generic_udev_CMAKE_INSTALL_FULL_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}") set(halcs_generic_udev_HALCS_INSTALL_FULL_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}/${NOPREFIX_HALCS_DATADIR}") set(halcs_generic_udev_UDEV_INSTALL_FULL_SYSCONFDIR "${UDEV_SYSCONFDIR}") +set(halcs_generic_udev_HALCS_INSTALL_FULL_SYSCONFDIR "${HALCS_SYSCONFDIR}") configure_file(${input_file} ${output_file} diff --git a/src/apps/halcs_generic_udev/CMakeLists.txt b/src/apps/halcs_generic_udev/CMakeLists.txt index aa1c34f0..c1869350 100644 --- a/src/apps/halcs_generic_udev/CMakeLists.txt +++ b/src/apps/halcs_generic_udev/CMakeLists.txt @@ -45,15 +45,22 @@ option(halcs_generic_udev_INSTALL_UDEV_RULES # udev directories set(UDEV_RULES_PREFIX "/etc" CACHE STRING - "UDEV rules system prefix (typically /etc ou /usr/lib)") + "UDEV rules system prefix (typically /etc or /usr/lib)") +# relative directory for udev rules set(NOPREFIX_UDEV_SYSCONFDIR "udev/rules.d") set(UDEV_SYSCONFDIR "${UDEV_RULES_PREFIX}/${NOPREFIX_UDEV_SYSCONFDIR}") +# halcs config directory +set(HALCS_CFG_PREFIX "/etc" CACHE STRING + "HALCS config files prefix (typically /etc, /usr/etc or /usr/local/etc)") + # relative directory for halcs config files set(NOPREFIX_HALCS_SYSCONFDIR "halcs") +set(HALCS_SYSCONFDIR ${HALCS_CFG_PREFIX}/${NOPREFIX_HALCS_SYSCONFDIR}) + # relative directory for halcs data files set(NOPREFIX_HALCS_DATADIR "halcs") @@ -94,6 +101,7 @@ if(BUILD_halcs_generic_udev) # to an absolute path. install(CODE "set(SYSTEMD_SERVICES_INSTALL_DIR ${SYSTEMD_SERVICES_INSTALL_DIR})") install(CODE "set(SYSTEMD_CONF_INSTALL_DIR ${SYSTEMD_CONF_INSTALL_DIR})") + install(CODE "set(HALCS_SYSCONFDIR ${HALCS_SYSCONFDIR})") install(CODE "set(UDEV_SYSCONFDIR ${UDEV_SYSCONFDIR})") install(CODE "set(NOPREFIX_HALCS_SYSCONFDIR ${NOPREFIX_HALCS_SYSCONFDIR})") install(CODE "set(NOPREFIX_HALCS_DATADIR ${NOPREFIX_HALCS_DATADIR})") diff --git a/src/apps/halcsd/CMakeConfigureInstall.cmake b/src/apps/halcsd/CMakeConfigureInstall.cmake index 3dbf0d91..9531c4cd 100644 --- a/src/apps/halcsd/CMakeConfigureInstall.cmake +++ b/src/apps/halcsd/CMakeConfigureInstall.cmake @@ -32,6 +32,10 @@ if(NOT DEFINED UDEV_SYSCONFDIR) message(FATAL_ERROR "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): error: Variable UDEV_SYSCONFDIR is not defined.") endif() +if(NOT DEFINED HALCS_SYSCONFDIR) + message(FATAL_ERROR "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): error: Variable HALCS_SYSCONFDIR is not defined.") +endif() + if(NOT DEFINED NOPREFIX_HALCS_SYSCONFDIR) message(FATAL_ERROR "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): error: Variable NOPREFIX_HALCS_SYSCONFDIR is not defined.") endif() @@ -60,10 +64,8 @@ set(halcsd_SYSTEMD_CONF_INSTALL_DIR "${SYSTEMD_CONF_INSTALL_DIR}") set(halcsd_CMAKE_INSTALL_FULL_BINDIR "${CMAKE_INSTALL_FULL_BINDIR}") set(halcsd_CMAKE_INSTALL_FULL_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}") -set(halcsd_CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}") -set(halcsd_HALCS_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/${NOPREFIX_HALCS_SYSCONFDIR}") -set(halcsd_CMAKE_INSTALL_FULL_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}") set(halcsd_HALCS_INSTALL_FULL_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}/${NOPREFIX_HALCS_DATADIR}") +set(halcsd_HALCS_INSTALL_FULL_SYSCONFDIR "${HALCS_SYSCONFDIR}") set(halcsd_UDEV_INSTALL_FULL_SYSCONFDIR "${UDEV_SYSCONFDIR}") configure_file(${input_file} diff --git a/src/apps/halcsd/CMakeLists.txt b/src/apps/halcsd/CMakeLists.txt index 0e747aaf..54ed8dfb 100644 --- a/src/apps/halcsd/CMakeLists.txt +++ b/src/apps/halcsd/CMakeLists.txt @@ -105,15 +105,22 @@ option(halcsd_INSTALL_UDEV_RULES # udev directories set(UDEV_RULES_PREFIX "/etc" CACHE STRING - "UDEV rules system prefix (typically /etc ou /usr/lib)") + "UDEV rules system prefix (typically /etc or /usr/lib)") +# relative directory for udev rules set(NOPREFIX_UDEV_SYSCONFDIR "udev/rules.d") set(UDEV_SYSCONFDIR "${UDEV_RULES_PREFIX}/${NOPREFIX_UDEV_SYSCONFDIR}") +# halcs config directory +set(HALCS_CFG_PREFIX "/etc" CACHE STRING + "HALCS config files prefix (typically /etc, /usr/etc or /usr/local/etc)") + # relative directory for halcs config files set(NOPREFIX_HALCS_SYSCONFDIR "halcs") +set(HALCS_SYSCONFDIR ${HALCS_CFG_PREFIX}/${NOPREFIX_HALCS_SYSCONFDIR}) + # relative directory for halcs data files set(NOPREFIX_HALCS_DATADIR "halcs") @@ -364,6 +371,7 @@ foreach(bin_target ${apps_halcsd}) install(CODE "set(SYSTEMD_SERVICES_INSTALL_DIR ${SYSTEMD_SERVICES_INSTALL_DIR})") install(CODE "set(SYSTEMD_CONF_INSTALL_DIR ${SYSTEMD_CONF_INSTALL_DIR})") install(CODE "set(UDEV_SYSCONFDIR ${UDEV_SYSCONFDIR})") + install(CODE "set(HALCS_SYSCONFDIR ${HALCS_SYSCONFDIR})") install(CODE "set(NOPREFIX_HALCS_SYSCONFDIR ${NOPREFIX_HALCS_SYSCONFDIR})") install(CODE "set(NOPREFIX_HALCS_DATADIR ${NOPREFIX_HALCS_DATADIR})") @@ -416,7 +424,7 @@ foreach(bin_target ${apps_halcsd}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/init/systemd/halcs.cfg - DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/${NOPREFIX_HALCS_SYSCONFDIR} + DESTINATION ${HALCS_SYSCONFDIR} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )