diff options
author | Niko Mauno <niko.mauno@vaisala.com> | 2024-10-21 16:57:03 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2024-10-21 20:54:48 -0700 |
commit | 854cba9a250d547f61c35db8ea5b99298cc00337 (patch) | |
tree | dfa7a7939d2cf3126dc17c2b53fcd822dbd35f72 /meta-oe | |
parent | 1f72f490277ce09742a51f022d0655ee1bfb1641 (diff) | |
download | meta-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')
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 @@ | |||
1 | From c9969cc46e5e4d58db28c89b22bebe42d9f96962 Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Mauno <niko.mauno@vaisala.com> | ||
3 | Date: Mon, 21 Oct 2024 16:02:46 +0000 | ||
4 | Subject: [PATCH] CMakeLists.txt: Revise init manager deduction | ||
5 | |||
6 | The init manager deduction is not cross-compile friendly, so replace | ||
7 | the host specific condition checks with placeholders that can be | ||
8 | replaced in Yocto recipe. | ||
9 | |||
10 | Signed-off-by: Niko Mauno <niko.mauno@vaisala.com> | ||
11 | |||
12 | Upstream-Status: Inappropriate [configuration] | ||
13 | --- | ||
14 | src/CMakeLists.txt | 4 ++-- | ||
15 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
16 | |||
17 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | ||
18 | index 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 | -- | ||
40 | 2.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 @@ | |||
1 | From c3b891eeec691753fccdf8e0a4541dcba244ec6b Mon Sep 17 00:00:00 2001 | ||
2 | From: Niko Mauno <niko.mauno@vaisala.com> | ||
3 | Date: Thu, 10 Oct 2024 11:06:07 +0300 | ||
4 | Subject: [PATCH] Disable installing systemd service file | ||
5 | |||
6 | With this we avoid the the following BitBake error when using some | ||
7 | other 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 | |||
18 | Upstream-Status: Inappropriate [hack] | ||
19 | |||
20 | Signed-off-by: Niko Mauno <niko.mauno@vaisala.com> | ||
21 | --- | ||
22 | src/CMakeLists.txt | 2 +- | ||
23 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
24 | |||
25 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | ||
26 | index 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 | -- | ||
39 | 2.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 | " |
27 | SRC_URI:append:libc-musl = "\ | 27 | SRC_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" | |||
116 | EXTRA_OECMAKE:append:riscv64 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" | 116 | EXTRA_OECMAKE:append:riscv64 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" |
117 | EXTRA_OECMAKE:append:x86 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" | 117 | EXTRA_OECMAKE:append:x86 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" |
118 | 118 | ||
119 | do_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. |
120 | do_compile:append() { | 127 | do_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' |