]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: fix default systemd unit install dir
author胡玮文 <huww98@outlook.com>
Wed, 14 Apr 2021 17:33:18 +0000 (01:33 +0800)
committer胡玮文 <huww98@outlook.com>
Thu, 18 Nov 2021 07:07:26 +0000 (15:07 +0800)
The original usage of CMAKE_INSTALL_LIBEXECDIR is incorrect.

Also try to get the path from pkg-config

Signed-off-by: 胡玮文 <huww98@outlook.com>
ceph.spec.in
debian/control
debian/rules
systemd/CMakeLists.txt

index 3579d7e628eaf8f78bbcacc160fde0c9e30cff1f..5be5d5a1333a5b0761245c3736bb473ee70c3fc5 100644 (file)
@@ -1282,7 +1282,7 @@ cmake .. \
     -DCMAKE_INSTALL_MANDIR:PATH=%{_mandir} \
     -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/ceph \
     -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir} \
-    -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=%{_unitdir} \
+    -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=%{_unitdir} \
     -DWITH_MANPAGE:BOOL=ON \
     -DWITH_PYTHON3:STRING=%{python3_version} \
     -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF \
index 1800b000eeebd7014d131b806bebfa39e6bce8e8..8f5c9c8e1bb528c5a5f9ecd3c65a1f3991ed974e 100644 (file)
@@ -100,6 +100,7 @@ Build-Depends: automake,
                python3-yaml,
                ragel <pkg.ceph.crimson>,
                socat <pkg.ceph.check>,
+               systemd,
                systemtap-sdt-dev <pkg.ceph.crimson>,
                uuid-dev <pkg.ceph.check>,
                uuid-runtime,
index 0e7883e3981274b02176dc3ca78b60bec65faeff..3ad9f248b7bf1a34bb58daf1a1fbc37b993b0dba 100755 (executable)
@@ -39,7 +39,6 @@ extraopts += -DWITH_RBD_SSD_CACHE=ON
 extraopts += -DCMAKE_INSTALL_LIBDIR=/usr/lib
 extraopts += -DCMAKE_INSTALL_LIBEXECDIR=/usr/libexec
 extraopts += -DCMAKE_INSTALL_SYSCONFDIR=/etc
-extraopts += -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=/lib/systemd/system
 ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
   NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
   extraopts += -DBOOST_J=$(NUMJOBS)
index 499b5d190241bdab82a0aea8f9b6efebded68500..ad75ce61cd8d9239e843e8dc086925d93508e44b 100644 (file)
@@ -1,5 +1,14 @@
-set(CMAKE_INSTALL_SYSTEMD_SERVICEDIR "${CMAKE_INSTALL_LIBEXECDIR}/systemd/system"
-  CACHE PATH "Location for systemd service files")
+find_package(PkgConfig QUIET REQUIRED)
+pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR "systemd" "systemd_system_unit_dir")
+if(NOT SYSTEMD_SYSTEM_UNIT_DIR)
+  pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR "systemd" "systemdsystemunitdir")
+  if(NOT SYSTEMD_SYSTEM_UNIT_DIR)
+    set(SYSTEMD_SYSTEM_UNIT_DIR "${CMAKE_INSTALL_LIBDIR}/systemd/system")
+  endif()
+endif()
+set(SYSTEMD_SYSTEM_UNIT_DIR "${SYSTEMD_SYSTEM_UNIT_DIR}"
+  CACHE PATH "Location for systemd system unit files")
+
 set(CEPH_SYSTEMD_ENV_DIR "/etc/sysconfig"
   CACHE PATH "Location for systemd service environmental variable settings files")
 set(SYSTEMD_ENV_FILE "${CEPH_SYSTEMD_ENV_DIR}/ceph")
@@ -21,7 +30,7 @@ foreach(service
     @ONLY)
   install(
     FILES ${CMAKE_CURRENT_BINARY_DIR}/${service}.service
-    DESTINATION ${CMAKE_INSTALL_SYSTEMD_SERVICEDIR})
+    DESTINATION ${SYSTEMD_SYSTEM_UNIT_DIR})
 endforeach()
 
 install(FILES
@@ -36,4 +45,4 @@ install(FILES
   ceph-immutable-object-cache.target
   ceph-volume@.service
   cephfs-mirror.target
-  DESTINATION ${CMAKE_INSTALL_SYSTEMD_SERVICEDIR})
+  DESTINATION ${SYSTEMD_SYSTEM_UNIT_DIR})