fluentbit: Upgrade to 1.3.5

Sync recipe with the one in sourcecode
Record Accessor feature requires Flex and Bison
fts dependency is needed on musl
Delete cmake_multilib.patch its fixed upstream
Use builtin nan funciton to avoid linking with libm

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj
2019-12-28 00:03:21 -08:00
parent cc7eb45fb5
commit 0b80ef1431
6 changed files with 127 additions and 57 deletions
@@ -0,0 +1,27 @@
help complier to use intrinsics, clang in few cases e.g. aarch64 can not
and then requires linking with libm, its the only function needed from libm then
its good to avoid needing it.
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/include/fluent-bit/stream_processor/flb_sp_timeseries.h
+++ b/include/fluent-bit/stream_processor/flb_sp_timeseries.h
@@ -207,7 +207,7 @@ void cb_forecast_calc(struct timeseries
result = b0 + b1 * (val->f64 + *forecast->latest_x);
break;
default:
- result = nan("");
+ result = __builtin_nan("");
break;
}
@@ -283,7 +283,7 @@ void cb_forecast_r_calc(struct timeserie
result = ((val->i64 - b0) / b1) - *forecast->latest_x;
break;
default:
- result = nan("");
+ result = __builtin_nan("");
break;
}
@@ -1,18 +0,0 @@
Use CMAKE_INSTALL_LIBDIR instead of hardcoding lib path
Helps build on platforms where libpaths are not lib/ but say lib64/
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -182,7 +182,7 @@ if(NOT FLB_WITHOUT_SHARED_LIB)
PROPERTIES OUTPUT_NAME fluent-bit)
# Library install routines
- install(TARGETS fluent-bit-shared LIBRARY DESTINATION lib)
+ install(TARGETS fluent-bit-shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
# Static Library
@@ -0,0 +1,38 @@
Define CMake variables to indicate init system for target
incase of cross compile, detecting systemd support based on
host directory structure is not right thing to do
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.kheem@gmail.com>
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -317,7 +317,7 @@ if(FLB_BINARY)
install(TARGETS fluent-bit-bin RUNTIME DESTINATION ${FLB_INSTALL_BINDIR})
# Detect init system, install upstart, systemd or init.d script
- if(IS_DIRECTORY /lib/systemd/system)
+ if(IS_DIRECTORY /lib/systemd/system OR FLB_SYSTEMD)
set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
configure_file(
"${PROJECT_SOURCE_DIR}/init/systemd.in"
@@ -325,7 +325,7 @@ if(FLB_BINARY)
)
install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR})
- elseif(IS_DIRECTORY /usr/share/upstart)
+ elseif(IS_DIRECTORY /usr/share/upstart OR FLB_UPSTART)
set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
configure_file(
"${PROJECT_SOURCE_DIR}/init/upstart.in"
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -70,6 +70,8 @@ option(FLB_RECORD_ACCESSOR "Enable re
option(FLB_SYSTEM_STRPTIME "Use strptime in system libc" Yes)
option(FLB_STATIC_CONF "Build binary using static configuration")
option(FLB_STREAM_PROCESSOR "Enable Stream Processor" Yes)
+option(FLB_SYSTEMD "Enable systemd init system" No)
+option(FLB_UPSTART "Enable upstart init system" No)
option(FLB_CORO_STACK_SIZE "Set coroutine stack size")
# Metrics: Experimental Feature, disabled by default on 0.12 series
@@ -3,16 +3,14 @@ Add --with-jemalloc-prefix=je_ so it compiles on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
Index: fluent-bit-0.12.1/CMakeLists.txt
===================================================================
--- fluent-bit-0.12.1.orig/CMakeLists.txt
+++ fluent-bit-0.12.1/CMakeLists.txt
@@ -325,7 +325,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME}
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -523,7 +523,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME}
# Link to Jemalloc as an external dependency
ExternalProject_Add(jemalloc
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc
- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure --with-jemalloc-prefix=je_ ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1
- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1/configure ${AUTOCONF_HOST_OPT} --with-jemalloc-prefix=je_ --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops
BUILD_COMMAND ${MAKE}
BUILD_COMMAND $(MAKE)
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/
@@ -1,30 +0,0 @@
SUMMARY = "Fast data collector for Embedded Linux"
HOMEPAGE = "http://fluentbit.io"
BUGTRACKER = "https://github.com/fluent/fluent-bit/issues"
SRC_URI = "http://fluentbit.io/releases/0.12/fluent-bit-${PV}.tar.gz \
file://jemalloc.patch \
file://cmake_multilib.patch \
"
SRC_URI[md5sum] = "7c8708312ac9122faacf9e2a4751eb34"
SRC_URI[sha256sum] = "23a81087edf0e2c6f2d49411c6a82308afc5224f67bbaa45729c057af62e9241"
S = "${WORKDIR}/fluent-bit-${PV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
DEPENDS = "zlib"
INSANE_SKIP_${PN}-dev += "dev-elf"
inherit cmake systemd
EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1"
# With Ninja it fails with:
# ninja: error: build.ninja:134: bad $-escape (literal $ must be written as $$)
OECMAKE_GENERATOR = "Unix Makefiles"
SYSTEMD_SERVICE_${PN} = "td-agent-bit.service"
TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
@@ -0,0 +1,55 @@
SUMMARY = "Fast Log processor and Forwarder"
DESCRIPTION = "Fluent Bit is a data collector, processor and \
forwarder for Linux. It supports several input sources and \
backends (destinations) for your data. \
"
HOMEPAGE = "http://fluentbit.io"
BUGTRACKER = "https://github.com/fluent/fluent-bit/issues"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
SECTION = "net"
SRC_URI = "http://fluentbit.io/releases/1.3/fluent-bit-${PV}.tar.gz \
file://jemalloc.patch \
file://cross-build-init-system-detection.patch \
file://builtin-nan.patch \
"
SRC_URI[md5sum] = "6eae6dfd0a874e5dd270c36e9c68f747"
SRC_URI[sha256sum] = "e037c76c89269c8dc4027a08e442fefd2751b0f1e0f9c38f9a4b12d781a9c789"
S = "${WORKDIR}/fluent-bit-${PV}"
DEPENDS = "zlib bison-native flex-native"
DEPENDS_append_libc-musl = " fts "
INSANE_SKIP_${PN}-dev += "dev-elf"
# Use CMake 'Unix Makefiles' generator
OECMAKE_GENERATOR ?= "Unix Makefiles"
# Fluent Bit build options
# ========================
# Host related setup
EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1"
# Disable LuaJIT and filter_lua support
EXTRA_OECMAKE += "-DFLB_LUAJIT=Off -DFLB_FILTER_LUA=Off "
# Disable Library and examples
EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off -DFLB_EXAMPLES=Off "
EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On','',d)}"
# Kafka Output plugin (disabled by default): note that when
# enabling Kafka output plugin, the backend library librdkafka
# requires 'openssl' as a dependency.
#
# DEPENDS += "openssl "
# EXTRA_OECMAKE += "-DFLB_OUT_KAFKA=On "
inherit cmake systemd features_check
SYSTEMD_SERVICE_${PN} = "td-agent-bit.service"
TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"