@@ -2610,6 +2610,7 @@ menu "System tools"
source "package/efivar/Config.in"
source "package/embiggen-disk/Config.in"
source "package/emlog/Config.in"
+ source "package/fluent-bit/Config.in"
source "package/ftop/Config.in"
source "package/getent/Config.in"
source "package/gkrellm/Config.in"
new file mode 100644
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_FLUENT_BIT
+ bool "fluent-bit"
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ depends on !BR2_STATIC_LIBS
+ select BR2_PACKAGE_OPENSSL
+ select BR2_PACKAGE_LIBYAML
+ help
+ Fast and Lightweight Logs and Metrics processor.
+
+ https://github.com/fluent/fluent-bit
+
+comment "fluent-bit needs a glibc toolchain, dynamic library"
+ depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS
new file mode 100644
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# Starts fluent-bit.
+#
+NAME=fluent-bit
+DAEMON=/usr/bin/$NAME
+PID_FILE="/var/run/$NAME.pid"
+CONF_FILE="/etc/$NAME/$NAME.conf"
+
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+start() {
+ printf "Starting fluent-bit: "
+ start-stop-daemon -S -q -b -m -p $PID_FILE --exec $DAEMON -- -c $CONF_FILE
+ [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+stop() {
+ printf "Stopping fluent-bit: "
+ start-stop-daemon -K -q -p $PID_FILE
+ TIMEOUT=15 # wait max 15 x 0.2 seconds
+ while pidof $NAME >/dev/null; do
+ [ $TIMEOUT -eq 0 ] && echo "FAIL" && return 1
+ TIMEOUT=$((TIMEOUT - 1))
+ sleep 0.2
+ done
+ echo "OK"
+}
+restart() {
+ stop
+ start
+}
+
+case "$1" in
+start)
+ start
+ ;;
+stop)
+ stop
+ ;;
+restart | reload)
+ restart
+ ;;
+*)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+ ;;
+esac
+
+exit $?
new file mode 100644
@@ -0,0 +1,3 @@
+# Locally computed
+sha256 8ff5566389033669feabc9c69a5c6f417dad5c8b066454388e6a706507262acf fluent-bit-2.0.8.tar.gz
+sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE
new file mode 100644
@@ -0,0 +1,40 @@
+################################################################################
+#
+# fluent-bit
+#
+################################################################################
+
+FLUENT_BIT_VERSION = 2.0.8
+FLUENT_BIT_SITE = $(call github,fluent,fluent-bit,v$(FLUENT_BIT_VERSION))
+FLUENT_BIT_LICENSE = Apache-2.0
+FLUENT_BIT_LICENSE_FILES = LICENSE
+FLUENT_BIT_DEPENDENCIES = host-bison host-flex libyaml libopenssl
+
+FLUENT_BIT_CONF_OPTS += \
+ -DFLB_DEBUG=No \
+ -DFLB_RELEASE=Yes \
+ -DFLB_EXAMPLES=No \
+ -DFLB_CHUNK_TRACE=No \
+ -DFLB_BACKTRACE=No \
+ -DFLB_LUAJIT=No
+
+# Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h
+# large file support.
+# See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information.
+FLUENT_BIT_CONF_OPTS += \
+ -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -U_FILE_OFFSET_BITS" \
+ -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -U_FILE_OFFSET_BITS"
+
+define FLUENT_BIT_INSTALL_INIT_SYSV
+ $(INSTALL) -D -m 0755 package/fluent-bit/S99fluent-bit \
+ $(TARGET_DIR)/etc/init.d/S99fluent-bit
+endef
+
+define FLUENT_BIT_POST_INSTALL_TARGET_HOOK
+ cp -dpf $(@D)/lib/libminiz*.so* $(TARGET_DIR)/usr/lib/fluent-bit/
+ rm -rf $(TARGET_DIR)/etc/fluent-bit/ && mv $(TARGET_DIR)/usr/etc/fluent-bit $(TARGET_DIR)/etc/
+endef
+
+FLUENT_BIT_POST_INSTALL_TARGET_HOOKS += FLUENT_BIT_POST_INSTALL_TARGET_HOOK
+
+$(eval $(cmake-package))
Fluent Bit is a super fast, lightweight, and highly scalable logging and metrics processor and forwarder. Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> --- package/Config.in | 1 + package/fluent-bit/Config.in | 13 ++++++++ package/fluent-bit/S99fluent-bit | 49 ++++++++++++++++++++++++++++++ package/fluent-bit/fluent-bit.hash | 3 ++ package/fluent-bit/fluent-bit.mk | 40 ++++++++++++++++++++++++ 5 files changed, 106 insertions(+) create mode 100644 package/fluent-bit/Config.in create mode 100644 package/fluent-bit/S99fluent-bit create mode 100644 package/fluent-bit/fluent-bit.hash create mode 100644 package/fluent-bit/fluent-bit.mk