64 lines
2.4 KiB
Diff
64 lines
2.4 KiB
Diff
From 7a792624925d46690c1f07fe4b194b5f4c510db6 Mon Sep 17 00:00:00 2001
|
|
From: Paulo Neves <ptsneves@gmail.com>
|
|
Date: Tue, 2 Aug 2022 09:57:05 +0200
|
|
Subject: [PATCH 1/1] build: Make systemd init systemd detection contingent on
|
|
pkgconfig
|
|
|
|
Use pkg-config to get systemd.pc variables and systemdunitdir. Those
|
|
variable ensure that .service files are installed in the correct paths
|
|
and only when systemd is detected.
|
|
|
|
Upstream-Status: Pending [https://github.com/fluent/fluent-bit/pull/5818]
|
|
|
|
---
|
|
cmake/FindJournald.cmake | 4 ++++
|
|
src/CMakeLists.txt | 4 ++--
|
|
2 files changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/cmake/FindJournald.cmake b/cmake/FindJournald.cmake
|
|
index f5a3a832b..9e6657a29 100644
|
|
--- a/cmake/FindJournald.cmake
|
|
+++ b/cmake/FindJournald.cmake
|
|
@@ -5,6 +5,8 @@
|
|
# JOURNALD_INCLUDE_DIR - the Journald include directory
|
|
# JOURNALD_LIBRARIES - Link these to use Journald
|
|
# JOURNALD_DEFINITIONS - Compiler switches required for using Journald
|
|
+# SYSTEMD_UNITDIR - The systemd units' directory
|
|
+#
|
|
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
#
|
|
@@ -16,7 +18,9 @@
|
|
# in the FIND_PATH() and FIND_LIBRARY() calls
|
|
find_package(PkgConfig)
|
|
pkg_check_modules(PC_JOURNALD QUIET systemd)
|
|
+pkg_get_variable(PC_SYSTEMD_UNITDIR systemd "systemdsystemunitdir")
|
|
|
|
+set(SYSTEMD_UNITDIR ${PC_SYSTEMD_UNITDIR})
|
|
set(JOURNALD_FOUND ${PC_JOURNALD_FOUND})
|
|
set(JOURNALD_DEFINITIONS ${PC_JOURNALD_CFLAGS_OTHER})
|
|
|
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
index 522bbf9bd..30743d8d6 100644
|
|
--- a/src/CMakeLists.txt
|
|
+++ b/src/CMakeLists.txt
|
|
@@ -480,13 +480,13 @@ if(FLB_BINARY)
|
|
endif()
|
|
|
|
# Detect init system, install upstart, systemd or init.d script
|
|
- if(IS_DIRECTORY /lib/systemd/system)
|
|
+ if(DEFINED SYSTEMD_UNITDIR)
|
|
set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
|
|
configure_file(
|
|
"${PROJECT_SOURCE_DIR}/init/systemd.in"
|
|
${FLB_SYSTEMD_SCRIPT}
|
|
)
|
|
- install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION /lib/systemd/system)
|
|
+ install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR})
|
|
install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary)
|
|
elseif(IS_DIRECTORY /usr/share/upstart)
|
|
set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
|
|
--
|
|
2.25.1
|
|
|