summaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorNiko Mauno <niko.mauno@vaisala.com>2024-10-21 16:57:03 +0000
committerKhem Raj <raj.khem@gmail.com>2024-10-21 20:54:48 -0700
commit854cba9a250d547f61c35db8ea5b99298cc00337 (patch)
treedfa7a7939d2cf3126dc17c2b53fcd822dbd35f72 /meta-oe
parent1f72f490277ce09742a51f022d0655ee1bfb1641 (diff)
downloadmeta-openembedded-854cba9a250d547f61c35db8ea5b99298cc00337.tar.gz
fluentbit: Mitigate init manager detection issues
Avoid following CMake failure which during do_configure stemming from non-cross compile friendly condition check executed on a build host which has /usr/share/upstart directory | CMake Error at src/CMakeLists.txt:550 (install): | install DIRECTORY given unknown argument "/etc/fluent-bit/". Also handle systemd init manager case more appropriately, so that it works also when the build host does not have a /lib/systemd/system directory. Signed-off-by: Niko Mauno <niko.mauno@vaisala.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch41
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0003-Disable-installing-systemd-service-file.patch40
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb9
3 files changed, 49 insertions, 41 deletions
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch
new file mode 100644
index 000000000..5105444dc
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch
@@ -0,0 +1,41 @@
1From c9969cc46e5e4d58db28c89b22bebe42d9f96962 Mon Sep 17 00:00:00 2001
2From: Niko Mauno <niko.mauno@vaisala.com>
3Date: Mon, 21 Oct 2024 16:02:46 +0000
4Subject: [PATCH] CMakeLists.txt: Revise init manager deduction
5
6The init manager deduction is not cross-compile friendly, so replace
7the host specific condition checks with placeholders that can be
8replaced in Yocto recipe.
9
10Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
11
12Upstream-Status: Inappropriate [configuration]
13---
14 src/CMakeLists.txt | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
18index 084f2c57d..f0f35f00b 100644
19--- a/src/CMakeLists.txt
20+++ b/src/CMakeLists.txt
21@@ -532,7 +532,7 @@ if(FLB_BINARY)
22 set(SYSTEMD_UNITDIR /lib/systemd/system)
23 endif()
24
25- if(SYSTEMD_UNITDIR)
26+ if(@INIT_MANAGER_IS_SYSTEMD@)
27 set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
28 configure_file(
29 "${PROJECT_SOURCE_DIR}/init/systemd.in"
30@@ -540,7 +540,7 @@ if(FLB_BINARY)
31 )
32 install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR})
33 install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary)
34- elseif(IS_DIRECTORY /usr/share/upstart)
35+ elseif(@INIT_MANAGER_IS_UPSTART@)
36 set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
37 configure_file(
38 "${PROJECT_SOURCE_DIR}/init/upstart.in"
39--
402.39.2
41
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-Disable-installing-systemd-service-file.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-Disable-installing-systemd-service-file.patch
deleted file mode 100644
index 36a0092ba..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-Disable-installing-systemd-service-file.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1From c3b891eeec691753fccdf8e0a4541dcba244ec6b Mon Sep 17 00:00:00 2001
2From: Niko Mauno <niko.mauno@vaisala.com>
3Date: Thu, 10 Oct 2024 11:06:07 +0300
4Subject: [PATCH] Disable installing systemd service file
5
6With this we avoid the the following BitBake error when using some
7other init manager than SystemD:
8
9 ERROR: fluentbit-3.1.9-r0 do_package: QA Issue: fluentbit: Files/directories were installed but not shipped in any package:
10 /lib
11 /lib/systemd
12 /lib/systemd/system
13 /lib/systemd/system/fluent-bit.service
14 Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
15 fluentbit: 4 installed and not shipped files. [installed-vs-shipped]
16 ERROR: fluentbit-3.1.9-r0 do_package: Fatal QA errors were found, failing task.
17
18Upstream-Status: Inappropriate [hack]
19
20Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
21---
22 src/CMakeLists.txt | 2 +-
23 1 file changed, 1 insertion(+), 1 deletion(-)
24
25diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
26index e24666484..c102806d0 100644
27--- a/src/CMakeLists.txt
28+++ b/src/CMakeLists.txt
29@@ -534,7 +534,7 @@ if(FLB_BINARY)
30 set(SYSTEMD_UNITDIR /lib/systemd/system)
31 endif()
32
33- if(SYSTEMD_UNITDIR)
34+ if(FALSE)
35 set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
36 configure_file(
37 "${PROJECT_SOURCE_DIR}/init/systemd.in"
38--
392.39.2
40
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb
index fc67236d3..f96e1a7ed 100644
--- a/meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb
@@ -22,7 +22,7 @@ SRC_URI = "\
22 git://github.com/fluent/fluent-bit.git;branch=3.1;protocol=https \ 22 git://github.com/fluent/fluent-bit.git;branch=3.1;protocol=https \
23 file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \ 23 file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \
24 file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \ 24 file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \
25 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0003-Disable-installing-systemd-service-file.patch', d)} \ 25 file://0003-CMakeLists.txt-Revise-init-manager-deduction.patch \
26" 26"
27SRC_URI:append:libc-musl = "\ 27SRC_URI:append:libc-musl = "\
28 file://0004-chunkio-Link-with-fts-library-with-musl.patch \ 28 file://0004-chunkio-Link-with-fts-library-with-musl.patch \
@@ -116,6 +116,13 @@ EXTRA_OECMAKE:append:riscv32 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
116EXTRA_OECMAKE:append:riscv64 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" 116EXTRA_OECMAKE:append:riscv64 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
117EXTRA_OECMAKE:append:x86 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" 117EXTRA_OECMAKE:append:x86 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
118 118
119do_configure:prepend() {
120 sed -i \
121 -e 's#@INIT_MANAGER_IS_SYSTEMD@#'${@'TRUE' if d.getVar('INIT_MANAGER') == 'systemd' else 'FALSE'}'#' \
122 -e 's#@INIT_MANAGER_IS_UPSTART@#'${@'TRUE' if d.getVar('INIT_MANAGER') == 'upstart' else 'FALSE'}'#' \
123 ${S}/src/CMakeLists.txt
124}
125
119# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources. 126# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources.
120do_compile:append() { 127do_compile:append() {
121 find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|${TARGET_DBGSRC_DIR}/|g' 128 find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|${TARGET_DBGSRC_DIR}/|g'