From cbd72087e69940074c840c56d63aaeff26b97d1b Mon Sep 17 00:00:00 2001 From: Pascal Bach Date: Wed, 8 Apr 2026 14:04:34 +0200 Subject: fluentbit: upgrade 4.2.3.1 -> 5.0.2 Patches have been refreshed to apply to the new version. Signed-off-by: Pascal Bach Signed-off-by: Khem Raj --- ...use-private-makefile-targets-in-CMakelist.patch | 12 +- ...in-Do-not-hardcode-compilation-directorie.patch | 2 +- ...keLists.txt-Revise-init-manager-deduction.patch | 8 +- ...4-chunkio-Link-with-fts-library-with-musl.patch | 3 +- .../fluentbit/fluentbit_4.2.3.1.bb | 152 --------------------- .../recipes-extended/fluentbit/fluentbit_5.0.2.bb | 152 +++++++++++++++++++++ 6 files changed, 164 insertions(+), 165 deletions(-) delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit_4.2.3.1.bb create mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch index 1756d74560..55fb0c7414 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch @@ -1,4 +1,4 @@ -From 4b47a8f0e3d1d429356cdda8efa7682ab88d344a Mon Sep 17 00:00:00 2001 +From 8d93bb7c866f88dd7f2cac81d2acfcffae9d555d Mon Sep 17 00:00:00 2001 From: Niko Mauno Date: Sun, 29 Sep 2024 12:00:00 +0000 Subject: [PATCH] lib: Do not use private makefile targets in CMakelists.txt @@ -48,7 +48,7 @@ index 489570026..06d99cbbe 100644 diff --git a/lib/cmetrics/CMakeLists.txt b/lib/cmetrics/CMakeLists.txt -index 5421f8c80..0dcf7645c 100644 +index a3385a8ba..80170f8e7 100644 --- a/lib/cmetrics/CMakeLists.txt +++ b/lib/cmetrics/CMakeLists.txt @@ -60,12 +60,8 @@ if(NOT MSVC) @@ -67,11 +67,11 @@ index 5421f8c80..0dcf7645c 100644 # Configuration options option(CMT_DEV "Enable development mode" No) diff --git a/lib/ctraces/CMakeLists.txt b/lib/ctraces/CMakeLists.txt -index 73723433d..9f60699d5 100644 +index bb2c54fa6..7d59dd834 100644 --- a/lib/ctraces/CMakeLists.txt +++ b/lib/ctraces/CMakeLists.txt -@@ -30,12 +30,8 @@ set(CTR_VERSION_MINOR 6) - set(CTR_VERSION_PATCH 6) +@@ -30,12 +30,8 @@ set(CTR_VERSION_MINOR 7) + set(CTR_VERSION_PATCH 1) set(CTR_VERSION_STR "${CTR_VERSION_MAJOR}.${CTR_VERSION_MINOR}.${CTR_VERSION_PATCH}") -# Define __FILENAME__ consistently across Operating Systems @@ -86,7 +86,7 @@ index 73723433d..9f60699d5 100644 # Configuration options option(CTR_DEV "Enable development mode" No) diff --git a/lib/monkey/CMakeLists.txt b/lib/monkey/CMakeLists.txt -index 3fbace595..1c6ad031c 100644 +index 3dc1ef28a..2d08fc5fd 100644 --- a/lib/monkey/CMakeLists.txt +++ b/lib/monkey/CMakeLists.txt @@ -15,10 +15,8 @@ include(GNUInstallDirs) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch index 4c6cac0cbd..51f48544b1 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch @@ -1,4 +1,4 @@ -From 596a53c35166e6cc5c20fb1d28bb5c92a248f695 Mon Sep 17 00:00:00 2001 +From e7b98c452343a43b924bca684e5ec423eae5d644 Mon Sep 17 00:00:00 2001 From: Paulo Neves Date: Thu, 28 Jul 2022 11:42:31 +0200 Subject: [PATCH] flb_info.h.in: Do not hardcode compilation directories 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 index 6bd4c6bbb6..2e0e988c19 100644 --- 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 @@ -1,4 +1,4 @@ -From 5cc79bdede89e75d713e23cf0fde26634320bc3e Mon Sep 17 00:00:00 2001 +From fef234a565d5150dc3d3d1374843024381e4f4de Mon Sep 17 00:00:00 2001 From: Niko Mauno Date: Mon, 21 Oct 2024 16:02:46 +0000 Subject: [PATCH] CMakeLists.txt: Revise init manager deduction @@ -15,10 +15,10 @@ Upstream-Status: Inappropriate [configuration] 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index ac5fe5ef8..f47a01b82 100644 +index a47a5d9d6..ddc93827c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -600,7 +600,7 @@ if(FLB_BINARY) +@@ -627,7 +627,7 @@ if(FLB_BINARY) set(SYSTEMD_UNITDIR /lib/systemd/system) endif() @@ -27,7 +27,7 @@ index ac5fe5ef8..f47a01b82 100644 if (FLB_AMAZON_LINUX2) set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service") configure_file( -@@ -625,7 +625,7 @@ if(FLB_BINARY) +@@ -652,7 +652,7 @@ if(FLB_BINARY) install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR}) install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary) endif() diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch index 6df53613c3..1192449909 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch @@ -1,4 +1,4 @@ -From cc688b91c02df9a45ca8816a1d09649fadb9dc4a Mon Sep 17 00:00:00 2001 +From 26431b786b4c703bc2dcdb57d59487a3fef4a139 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 10 Aug 2022 01:27:16 -0700 Subject: [PATCH] chunkio: Link with fts library with musl @@ -10,7 +10,6 @@ Signed-off-by: Khem Raj Upstream-Status: Pending --- - lib/chunkio/src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_4.2.3.1.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_4.2.3.1.bb deleted file mode 100644 index 03f9e0e003..0000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_4.2.3.1.bb +++ /dev/null @@ -1,152 +0,0 @@ -SUMMARY = "Fast Log Processor and Forwarder" -DESCRIPTION = "Fluent Bit allows to collect log events or metrics from \ -different sources, process them and deliver them to different backends \ -such as Fluentd, Elasticsearch, Splunk, DataDog, Kafka, New Relic, Azure \ -services, AWS services, Google services, NATS, InfluxDB or any custom \ -HTTP end-point." -HOMEPAGE = "http://fluentbit.io" -BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" -SECTION = "net" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" -DEPENDS = "\ - bison-native \ - flex-native \ - openssl \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" -DEPENDS:append:libc-musl = " fts" - -SRCREV = "fca8b5bf46416267a4c8de185e4044da09cf0f16" -SRC_URI = "\ - git://github.com/fluent/fluent-bit.git;nobranch=1;protocol=https;tag=v${PV} \ - file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \ - file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \ - file://0003-CMakeLists.txt-Revise-init-manager-deduction.patch \ -" -SRC_URI:append:libc-musl = "\ - file://0004-chunkio-Link-with-fts-library-with-musl.patch \ -" - -# prefix tag with "v" to avoid upgrade to random tags like "20220215" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P(\d+(\.\d+)+))" - - -PACKAGECONFIG ??= "\ - aws \ - binary \ - config-yaml \ - custom-calyptia \ - http-server \ - inotify \ - ipo \ - metrics \ - parser \ - prefer-system-libs \ - profiles \ - proxy-go \ - record-accessor \ - regex \ - signv4 \ - sqldb \ - stream-processor \ - tls \ - utf8-encoder \ -" -# See https://github.com/fluent/fluent-bit/issues/7248#issuecomment-1631280496 -PACKAGECONFIG:remove:toolchain-clang = "ipo" - -# Use system libs -PACKAGECONFIG[prefer-system-libs] = "-DFLB_PREFER_SYSTEM_LIBS=Yes,-DFLB_PREFER_SYSTEM_LIBS=No, nghttp2 c-ares msgpack-c zstd" -DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs backtrace', 'libbacktrace', '', d)}" -DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs jemalloc', 'jemalloc', '', d)}" -DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs luajit', 'luajit', '', d)}" -DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs sqldb', 'sqlite3', '', d)}" - -PACKAGECONFIG[all] = "-DFLB_ALL=Yes,-DFLB_ALL=No" -PACKAGECONFIG[arrow] = "-DFLB_ARROW=Yes,-DFLB_ARROW=No" -PACKAGECONFIG[avro-encoder] = "-DFLB_AVRO_ENCODER=Yes,-DFLB_AVRO_ENCODER=No" -PACKAGECONFIG[aws-error-reporter] = "-DFLB_AWS_ERROR_REPORTER=Yes,-DFLB_AWS_ERROR_REPORTER=No" -PACKAGECONFIG[aws] = "-DFLB_AWS=Yes,-DFLB_AWS=No" -PACKAGECONFIG[backtrace] = "-DFLB_BACKTRACE=Yes,-DFLB_BACKTRACE=No" -PACKAGECONFIG[binary] = "-DFLB_BINARY=Yes,-DFLB_BINARY=No" -PACKAGECONFIG[chunk-trace] = "-DFLB_CHUNK_TRACE=Yes,-DFLB_CHUNK_TRACE=No" -PACKAGECONFIG[config-yaml] = "-DFLB_CONFIG_YAML=Yes,-DFLB_CONFIG_YAML=No,libyaml" -PACKAGECONFIG[custom-calyptia] = "-DFLB_CUSTOM_CALYPTIA=Yes,-DFLB_CUSTOM_CALYPTIA=No" -PACKAGECONFIG[enforce-alignment] = "-DFLB_ENFORCE_ALIGNMENT=Yes,-DFLB_ENFORCE_ALIGNMENT=No" -PACKAGECONFIG[examples] = "-DFLB_EXAMPLES=Yes,-DFLB_EXAMPLES=No" -PACKAGECONFIG[http-client-debug] = "-DFLB_HTTP_CLIENT_DEBUG=Yes,-DFLB_HTTP_CLIENT_DEBUG=No" -PACKAGECONFIG[http-server] = "-DFLB_HTTP_SERVER=Yes,-DFLB_HTTP_SERVER=No" -PACKAGECONFIG[inotify] = "-DFLB_INOTIFY=Yes,-DFLB_INOTIFY=No" -PACKAGECONFIG[ipo] = "-DFLB_IPO=Yes,-DFLB_IPO=no" -PACKAGECONFIG[jemalloc] = "-DFLB_JEMALLOC=Yes,-DFLB_JEMALLOC=No,jemalloc" -PACKAGECONFIG[luajit] = "-DFLB_LUAJIT=Yes,-DFLB_LUAJIT=No" -PACKAGECONFIG[metrics] = "-DFLB_METRICS=Yes,-DFLB_METRICS=No" -PACKAGECONFIG[mtrace] = "-DFLB_MTRACE=Yes,-DFLB_MTRACE=No" -PACKAGECONFIG[parser] = "-DFLB_PARSER=Yes,-DFLB_PARSER=No" -PACKAGECONFIG[posix-tls] = "-DFLB_POSIX_TLS=Yes,-DFLB_POSIX_TLS=No" -PACKAGECONFIG[profiles] = "-DFLB_PROFILES=Yes,-DFLB_PROFILES=No" -PACKAGECONFIG[proxy-go] = "-DFLB_PROXY_GO=Yes,-DFLB_PROXY_GO=No" -PACKAGECONFIG[record-accessor] = "-DFLB_RECORD_ACCESSOR=Yes,-DFLB_RECORD_ACCESSOR=No" -PACKAGECONFIG[regex] = "-DFLB_REGEX=Yes,-DFLB_REGEX=No" -PACKAGECONFIG[run-ldconfig] = "-DFLB_RUN_LDCONFIG=Yes,-DFLB_RUN_LDCONFIG=No" -PACKAGECONFIG[shared-lib] = "-DFLB_SHARED_LIB=Yes,-DFLB_SHARED_LIB=No" -PACKAGECONFIG[signv4] = "-DFLB_SIGNV4=Yes,-DFLB_SIGNV4=No" -PACKAGECONFIG[sqldb] = "-DFLB_SQLDB=Yes,-DFLB_SQLDB=No" -PACKAGECONFIG[stream-processor] = "-DFLB_STREAM_PROCESSOR=Yes,-DFLB_STREAM_PROCESSOR=No" -PACKAGECONFIG[tests-runtime] = "-DFLB_TESTS_RUNTIME=Yes,-DFLB_TESTS_RUNTIME=No" -PACKAGECONFIG[tls] = "-DFLB_TLS=Yes,-DFLB_TLS=No" -PACKAGECONFIG[trace] = "-DFLB_TRACE=Yes,-DFLB_TRACE=No" -PACKAGECONFIG[utf8-encoder] = "-DFLB_UTF8_ENCODER=Yes,-DFLB_UTF8_ENCODER=No" -PACKAGECONFIG[valgrind] = "-DFLB_VALGRIND=Yes,-DFLB_VALGRIND=No,valgrind" -PACKAGECONFIG[wamrc] = "-DFLB_WAMRC=Yes,-DFLB_WAMRC=No" -PACKAGECONFIG[wasm-stack-protect] = "-DFLB_WASM_STACK_PROTECT=Yes,-DFLB_WASM_STACK_PROTECT=No" -PACKAGECONFIG[wasm] = "-DFLB_WASM=Yes,-DFLB_WASM=No" -PACKAGECONFIG[windows-defaults] = "-DFLB_WINDOWS_DEFAULTS=Yes,-DFLB_WINDOWS_DEFAULTS=No" - -# Option to disable all Fluent Bit plugins by default. See cmake/plugins_options.cmake which -# individual plugins then to enable (e.g. using EXTRA_OECMAKE:append = " -DFLB_FOOBAR=ON") -PACKAGECONFIG[minimal] = "-DFLB_MINIMAL=Yes,-DFLB_MINIMAL=No" - -PACKAGECONFIG[in-kafka] = "-DFLB_KAFKA=ON -DFLB_IN_KAFKA=ON,-DFLB_KAFKA=OFF -DFLB_IN_KAFKA=OFF,librdkafka curl" -PACKAGECONFIG[out-kafka] = "-DFLB_KAFKA=ON -DFLB_OUT_KAFKA=ON,-DFLB_KAFKA=OFF -DFLB_OUT_KAFKA=OFF,librdkafka curl" - -SYSTEMD_SERVICE:${PN} = "fluent-bit.service" - -inherit cmake systemd pkgconfig - -# disable manipulation of compiler flags and CMAKE_BUILD_TYPE -# release and coverage are off by default, disable also debug -EXTRA_OECMAKE += "-DFLB_DEBUG=No" - -FULL_OPTIMIZATION:remove = "${@'-O2' if bb.data.inherits_class('clang', d) else ''}" -TARGET_CC_ARCH += "${SELECTED_OPTIMIZATION}" -TARGET_CC_ARCH:remove = "-D_FORTIFY_SOURCE=2" -EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/" - -SECURITY_STRINGFORMAT:remove = "${@bb.utils.contains('PACKAGECONFIG', 'aws-error-reporter', '-Werror=format-security', '', d)}" - -# GCC-15 uses C23 std and it does not yet compile with C23 -CFLAGS += "-std=gnu17" -# 64bit atomics builtins do not exist in compiler on these arches -LDFLAGS:append:mips = " -latomic" -LDFLAGS:append:powerpc = " -latomic" -LDFLAGS:append:riscv32 = " -latomic" -LDFLAGS:append:riscv64 = " -latomic" -LDFLAGS:append:x86 = " -latomic" - -do_configure:prepend() { - sed -i \ - -e 's#@INIT_MANAGER_IS_SYSTEMD@#'${@'TRUE' if d.getVar('INIT_MANAGER') == 'systemd' else 'FALSE'}'#' \ - -e 's#@INIT_MANAGER_IS_UPSTART@#'${@'TRUE' if d.getVar('INIT_MANAGER') == 'upstart' else 'FALSE'}'#' \ - ${S}/src/CMakeLists.txt -} - -# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources. -do_compile:append() { - find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${B}|${TARGET_DBGSRC_DIR}|g' - find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${S}|${TARGET_DBGSRC_DIR}|g' -} - -# needed for shared-lib package config -FILES:${PN} += "${libdir}/fluent-bit" diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb new file mode 100644 index 0000000000..3f3299459c --- /dev/null +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb @@ -0,0 +1,152 @@ +SUMMARY = "Fast Log Processor and Forwarder" +DESCRIPTION = "Fluent Bit allows to collect log events or metrics from \ +different sources, process them and deliver them to different backends \ +such as Fluentd, Elasticsearch, Splunk, DataDog, Kafka, New Relic, Azure \ +services, AWS services, Google services, NATS, InfluxDB or any custom \ +HTTP end-point." +HOMEPAGE = "http://fluentbit.io" +BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" +SECTION = "net" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" +DEPENDS = "\ + bison-native \ + flex-native \ + openssl \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +DEPENDS:append:libc-musl = " fts" + +SRCREV = "66ffbe43bd0b393ec418e6f5851a23461fa478d4" +SRC_URI = "\ + git://github.com/fluent/fluent-bit.git;nobranch=1;protocol=https;tag=v${PV} \ + file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \ + file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \ + file://0003-CMakeLists.txt-Revise-init-manager-deduction.patch \ +" +SRC_URI:append:libc-musl = "\ + file://0004-chunkio-Link-with-fts-library-with-musl.patch \ +" + +# prefix tag with "v" to avoid upgrade to random tags like "20220215" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P(\d+(\.\d+)+))" + + +PACKAGECONFIG ??= "\ + aws \ + binary \ + config-yaml \ + custom-calyptia \ + http-server \ + inotify \ + ipo \ + metrics \ + parser \ + prefer-system-libs \ + profiles \ + proxy-go \ + record-accessor \ + regex \ + signv4 \ + sqldb \ + stream-processor \ + tls \ + utf8-encoder \ +" +# See https://github.com/fluent/fluent-bit/issues/7248#issuecomment-1631280496 +PACKAGECONFIG:remove:toolchain-clang = "ipo" + +# Use system libs +PACKAGECONFIG[prefer-system-libs] = "-DFLB_PREFER_SYSTEM_LIBS=Yes,-DFLB_PREFER_SYSTEM_LIBS=No, nghttp2 c-ares msgpack-c zstd" +DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs backtrace', 'libbacktrace', '', d)}" +DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs jemalloc', 'jemalloc', '', d)}" +DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs luajit', 'luajit', '', d)}" +DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs sqldb', 'sqlite3', '', d)}" + +PACKAGECONFIG[all] = "-DFLB_ALL=Yes,-DFLB_ALL=No" +PACKAGECONFIG[arrow] = "-DFLB_ARROW=Yes,-DFLB_ARROW=No" +PACKAGECONFIG[avro-encoder] = "-DFLB_AVRO_ENCODER=Yes,-DFLB_AVRO_ENCODER=No" +PACKAGECONFIG[aws-error-reporter] = "-DFLB_AWS_ERROR_REPORTER=Yes,-DFLB_AWS_ERROR_REPORTER=No" +PACKAGECONFIG[aws] = "-DFLB_AWS=Yes,-DFLB_AWS=No" +PACKAGECONFIG[backtrace] = "-DFLB_BACKTRACE=Yes,-DFLB_BACKTRACE=No" +PACKAGECONFIG[binary] = "-DFLB_BINARY=Yes,-DFLB_BINARY=No" +PACKAGECONFIG[chunk-trace] = "-DFLB_CHUNK_TRACE=Yes,-DFLB_CHUNK_TRACE=No" +PACKAGECONFIG[config-yaml] = "-DFLB_CONFIG_YAML=Yes,-DFLB_CONFIG_YAML=No,libyaml" +PACKAGECONFIG[custom-calyptia] = "-DFLB_CUSTOM_CALYPTIA=Yes,-DFLB_CUSTOM_CALYPTIA=No" +PACKAGECONFIG[enforce-alignment] = "-DFLB_ENFORCE_ALIGNMENT=Yes,-DFLB_ENFORCE_ALIGNMENT=No" +PACKAGECONFIG[examples] = "-DFLB_EXAMPLES=Yes,-DFLB_EXAMPLES=No" +PACKAGECONFIG[http-client-debug] = "-DFLB_HTTP_CLIENT_DEBUG=Yes,-DFLB_HTTP_CLIENT_DEBUG=No" +PACKAGECONFIG[http-server] = "-DFLB_HTTP_SERVER=Yes,-DFLB_HTTP_SERVER=No" +PACKAGECONFIG[inotify] = "-DFLB_INOTIFY=Yes,-DFLB_INOTIFY=No" +PACKAGECONFIG[ipo] = "-DFLB_IPO=Yes,-DFLB_IPO=no" +PACKAGECONFIG[jemalloc] = "-DFLB_JEMALLOC=Yes,-DFLB_JEMALLOC=No,jemalloc" +PACKAGECONFIG[luajit] = "-DFLB_LUAJIT=Yes,-DFLB_LUAJIT=No" +PACKAGECONFIG[metrics] = "-DFLB_METRICS=Yes,-DFLB_METRICS=No" +PACKAGECONFIG[mtrace] = "-DFLB_MTRACE=Yes,-DFLB_MTRACE=No" +PACKAGECONFIG[parser] = "-DFLB_PARSER=Yes,-DFLB_PARSER=No" +PACKAGECONFIG[posix-tls] = "-DFLB_POSIX_TLS=Yes,-DFLB_POSIX_TLS=No" +PACKAGECONFIG[profiles] = "-DFLB_PROFILES=Yes,-DFLB_PROFILES=No" +PACKAGECONFIG[proxy-go] = "-DFLB_PROXY_GO=Yes,-DFLB_PROXY_GO=No" +PACKAGECONFIG[record-accessor] = "-DFLB_RECORD_ACCESSOR=Yes,-DFLB_RECORD_ACCESSOR=No" +PACKAGECONFIG[regex] = "-DFLB_REGEX=Yes,-DFLB_REGEX=No" +PACKAGECONFIG[run-ldconfig] = "-DFLB_RUN_LDCONFIG=Yes,-DFLB_RUN_LDCONFIG=No" +PACKAGECONFIG[shared-lib] = "-DFLB_SHARED_LIB=Yes,-DFLB_SHARED_LIB=No" +PACKAGECONFIG[signv4] = "-DFLB_SIGNV4=Yes,-DFLB_SIGNV4=No" +PACKAGECONFIG[sqldb] = "-DFLB_SQLDB=Yes,-DFLB_SQLDB=No" +PACKAGECONFIG[stream-processor] = "-DFLB_STREAM_PROCESSOR=Yes,-DFLB_STREAM_PROCESSOR=No" +PACKAGECONFIG[tests-runtime] = "-DFLB_TESTS_RUNTIME=Yes,-DFLB_TESTS_RUNTIME=No" +PACKAGECONFIG[tls] = "-DFLB_TLS=Yes,-DFLB_TLS=No" +PACKAGECONFIG[trace] = "-DFLB_TRACE=Yes,-DFLB_TRACE=No" +PACKAGECONFIG[utf8-encoder] = "-DFLB_UTF8_ENCODER=Yes,-DFLB_UTF8_ENCODER=No" +PACKAGECONFIG[valgrind] = "-DFLB_VALGRIND=Yes,-DFLB_VALGRIND=No,valgrind" +PACKAGECONFIG[wamrc] = "-DFLB_WAMRC=Yes,-DFLB_WAMRC=No" +PACKAGECONFIG[wasm-stack-protect] = "-DFLB_WASM_STACK_PROTECT=Yes,-DFLB_WASM_STACK_PROTECT=No" +PACKAGECONFIG[wasm] = "-DFLB_WASM=Yes,-DFLB_WASM=No" +PACKAGECONFIG[windows-defaults] = "-DFLB_WINDOWS_DEFAULTS=Yes,-DFLB_WINDOWS_DEFAULTS=No" + +# Option to disable all Fluent Bit plugins by default. See cmake/plugins_options.cmake which +# individual plugins then to enable (e.g. using EXTRA_OECMAKE:append = " -DFLB_FOOBAR=ON") +PACKAGECONFIG[minimal] = "-DFLB_MINIMAL=Yes,-DFLB_MINIMAL=No" + +PACKAGECONFIG[in-kafka] = "-DFLB_KAFKA=ON -DFLB_IN_KAFKA=ON,-DFLB_KAFKA=OFF -DFLB_IN_KAFKA=OFF,librdkafka curl" +PACKAGECONFIG[out-kafka] = "-DFLB_KAFKA=ON -DFLB_OUT_KAFKA=ON,-DFLB_KAFKA=OFF -DFLB_OUT_KAFKA=OFF,librdkafka curl" + +SYSTEMD_SERVICE:${PN} = "fluent-bit.service" + +inherit cmake systemd pkgconfig + +# disable manipulation of compiler flags and CMAKE_BUILD_TYPE +# release and coverage are off by default, disable also debug +EXTRA_OECMAKE += "-DFLB_DEBUG=No" + +FULL_OPTIMIZATION:remove = "${@'-O2' if bb.data.inherits_class('clang', d) else ''}" +TARGET_CC_ARCH += "${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH:remove = "-D_FORTIFY_SOURCE=2" +EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/" + +SECURITY_STRINGFORMAT:remove = "${@bb.utils.contains('PACKAGECONFIG', 'aws-error-reporter', '-Werror=format-security', '', d)}" + +# GCC-15 uses C23 std and it does not yet compile with C23 +CFLAGS += "-std=gnu17" +# 64bit atomics builtins do not exist in compiler on these arches +LDFLAGS:append:mips = " -latomic" +LDFLAGS:append:powerpc = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" +LDFLAGS:append:riscv64 = " -latomic" +LDFLAGS:append:x86 = " -latomic" + +do_configure:prepend() { + sed -i \ + -e 's#@INIT_MANAGER_IS_SYSTEMD@#'${@'TRUE' if d.getVar('INIT_MANAGER') == 'systemd' else 'FALSE'}'#' \ + -e 's#@INIT_MANAGER_IS_UPSTART@#'${@'TRUE' if d.getVar('INIT_MANAGER') == 'upstart' else 'FALSE'}'#' \ + ${S}/src/CMakeLists.txt +} + +# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources. +do_compile:append() { + find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${B}|${TARGET_DBGSRC_DIR}|g' + find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${S}|${TARGET_DBGSRC_DIR}|g' +} + +# needed for shared-lib package config +FILES:${PN} += "${libdir}/fluent-bit" -- cgit v1.2.3-54-g00ecf