1SUMMARY = "Fast Log processor and Forwarder" 2DESCRIPTION = "Fluent Bit is a data collector, processor and \ 3forwarder for Linux. It supports several input sources and \ 4backends (destinations) for your data. \ 5" 6 7HOMEPAGE = "http://fluentbit.io" 8BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" 9 10LICENSE = "Apache-2.0" 11LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" 12SECTION = "net" 13 14SRC_URI = "https://releases.fluentbit.io/1.9/source-${PV}.tar.gz;subdir=fluent-bit-${PV};downloadfilename=${BPN}-${PV}.tar.gz \ 15 file://0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch \ 16 file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \ 17 file://0003-mbedtls-Do-not-overwrite-CFLAGS.patch \ 18 file://0004-build-Make-systemd-init-systemd-detection-contingent.patch \ 19 file://0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch \ 20 file://0002-mbedtls-Remove-unused-variable.patch \ 21 file://0003-mbedtls-Disable-documentation-warning-as-error-with-.patch \ 22 file://0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch \ 23 file://0005-stackdriver-Fix-return-type-mismatch.patch \ 24 file://0006-monkey-Fix-TLS-detection-testcase.patch \ 25 file://0007-cmake-Do-not-check-for-upstart-on-build-host.patch \ 26 " 27SRC_URI:remove:x86 = "file://0002-mbedtls-Remove-unused-variable.patch" 28SRC_URI:append:libc-musl = "\ 29 file://0001-Use-posix-strerror_r-with-musl.patch \ 30 file://0002-chunkio-Link-with-fts-library-with-musl.patch \ 31 " 32SRC_URI[sha256sum] = "3f6cd4bd1894cda16b465aef6ffec7e920d54c4209b3e2320fcffe7ae345700e" 33S = "${WORKDIR}/fluent-bit-${PV}" 34 35DEPENDS = "zlib bison-native flex-native openssl" 36DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" 37 38PACKAGECONFIG[yaml] = "-DFLB_CONFIG_YAML=On,-DFLB_CONFIG_YAML=Off,libyaml" 39PACKAGECONFIG[kafka] = "-DFLB_OUT_KAFKA=On,-DFLB_OUT_KAFKA=Off,librdkafka" 40PACKAGECONFIG[examples] = "-DFLB_EXAMPLES=On,-DFLB_EXAMPLES=Off" 41PACKAGECONFIG[jemalloc] = "-DFLB_JEMALLOC=On,-DFLB_JEMALLOC=Off,jemalloc" 42#TODO add more fluentbit options to PACKAGECONFIG[] 43 44DEPENDS:append:libc-musl = " fts " 45 46# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources. 47do_compile:append() { 48 find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|${TARGET_DBGSRC_DIR}/|g' 49} 50 51PACKAGECONFIG ?= "yaml" 52 53LTO = "" 54 55# Use CMake 'Unix Makefiles' generator 56OECMAKE_GENERATOR ?= "Unix Makefiles" 57 58# Fluent Bit build options 59# ======================== 60 61# Host related setup 62EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} -DFLB_TD=1" 63 64# Disable LuaJIT and filter_lua support 65EXTRA_OECMAKE += "-DFLB_LUAJIT=Off -DFLB_FILTER_LUA=Off " 66 67# Disable Library and examples 68EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off" 69 70# Enable systemd iff systemd is in DISTRO_FEATURES 71EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On','-DFLB_SYSTEMD=Off',d)}" 72 73# Enable release builds 74EXTRA_OECMAKE += "-DFLB_RELEASE=On" 75 76# musl needs these options 77EXTRA_OECMAKE:append:libc-musl = ' -DFLB_JEMALLOC_OPTIONS="--with-jemalloc-prefix=je_ --with-lg-quantum=3" -DFLB_CORO_STACK_SIZE=24576' 78 79EXTRA_OECMAKE:append:riscv64 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" 80EXTRA_OECMAKE:append:riscv32 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" 81EXTRA_OECMAKE:append:mips = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" 82EXTRA_OECMAKE:append:powerpc = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" 83EXTRA_OECMAKE:append:x86 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" 84 85CFLAGS:append:x86 = " -DMBEDTLS_HAVE_SSE2" 86 87# Fixes build with GCC-14 88CFLAGS += "-Wno-error=incompatible-pointer-types" 89 90inherit cmake systemd pkgconfig 91 92SYSTEMD_SERVICE:${PN} = "td-agent-bit.service" 93 94EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/" 95TARGET_CC_ARCH += " ${SELECTED_OPTIMIZATION}" 96