* [meta-oe][PATCH] Upgrade fluentbit recipe from version 1.3.5 to 1.9.3
@ 2022-05-20 23:30 Lekshmi Ravindran
2022-05-27 17:50 ` [meta-oe][PATCH V2] " Lekshmi Ravindran
0 siblings, 1 reply; 4+ messages in thread
From: Lekshmi Ravindran @ 2022-05-20 23:30 UTC (permalink / raw)
To: openembedded-devel
The current fluentbit version with oe is much old and outdated.
Upgrading to latest version to leverage better stability,
performance and newer feature set from the fluentbit project.
Source - https://github.com/fluent/fluent-bit/blob/v1.9.3/fluent-bit_1.9.3.bb
Retaining the following 3 patches as suggested by Khem Raj:
1. 0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
2. cross-build-init-system-detection.patch
3. jemalloc.patch
Signed-off-by: Lekshmi Ravindran <lravindran@linux.microsoft.com>
---
...nit-install-location-with-SYSTEM_DIR.patch | 25 ++----
...caused-by-using-flb_free-instead-of-.patch | 43 ----------
...-ppc-Fix-signature-for-co_create-API.patch | 38 ---------
...GV-caused-by-using-flb_free-instead-.patch | 82 -------------------
.../fluentbit/fluentbit/builtin-nan.patch | 27 ------
.../cross-build-init-system-detection.patch | 41 +++++-----
.../fluentbit/fluentbit/jemalloc.patch | 25 +++---
.../fluentbit/fluentbit_1.9.3.bb | 69 ++++++++++++++++
8 files changed, 113 insertions(+), 237 deletions(-)
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
create mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit_1.9.3.bb
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
index bf4cda08f..8fa0797b1 100644
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
@@ -1,28 +1,21 @@
-From 5571f949fa2048b79c197b5b10a11ecb1891cbe9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 23 Apr 2022 08:24:34 -0700
-Subject: [PATCH] Control sytemd unit install location with SYSTEM_DIR
-
This helps building when usrmerge is on
-Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/CMakeLists.txt | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -323,7 +323,11 @@ if(FLB_BINARY)
+Index: fluentbit/src/CMakeLists.txt
+===================================================================
+--- fluentbit.orig/src/CMakeLists.txt
++++ fluentbit/src/CMakeLists.txt
+@@ -484,7 +484,11 @@ if(FLB_BINARY)
"${PROJECT_SOURCE_DIR}/init/systemd.in"
${FLB_SYSTEMD_SCRIPT}
)
-- install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
+- install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION /lib/systemd/system)
+ if(SYSTEMD_DIR)
-+ install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION ${SYSTEMD_DIR})
++ install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_DIR})
+ else()
-+ install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
++ install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION /lib/systemd/system)
+ endif()
- install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR})
+ install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary)
elseif(FLB_UPSTART)
set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
deleted file mode 100644
index a6ff5991c..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 3d7390c89c2205d1eed0384be0bb65adb675e60d Mon Sep 17 00:00:00 2001
-From: Ramon Fried <ramon@neureality.ai>
-Date: Tue, 9 Feb 2021 18:59:59 +0200
-Subject: [PATCH] bin: fix SIGSEGV caused by using flb_free instead of
- mk_mem_free
-
-Upstream-Status: Accepted
-Signed-off-by: Ramon Fried <ramon@neureality.ai>
----
- src/fluent-bit.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/fluent-bit.c b/src/fluent-bit.c
-index c0c73b4..989cfde 100644
---- a/src/fluent-bit.c
-+++ b/src/fluent-bit.c
-@@ -289,7 +289,7 @@ static int input_set_property(struct flb_input_instance *in, char *kv)
- in->p->name, key);
- }
-
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
-@@ -314,7 +314,7 @@ static int output_set_property(struct flb_output_instance *out, char *kv)
- }
-
- ret = flb_output_set_property(out, key, value);
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
-@@ -340,7 +340,7 @@ static int filter_set_property(struct flb_filter_instance *filter, char *kv)
- }
-
- ret = flb_filter_set_property(filter, key, value);
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
deleted file mode 100644
index 1f36c657e..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From be4032079c931704f52e29f5da5c01cde24ac842 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 16 Jan 2020 10:44:58 -0800
-Subject: [PATCH] ppc: Fix signature for co_create API
-
-Upstream-Status: Submitted [https://github.com/fluent/fluent-bit/pull/1886]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/flb_libco/ppc.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/lib/flb_libco/ppc.c b/lib/flb_libco/ppc.c
-index e6536d56..533256b3 100644
---- a/lib/flb_libco/ppc.c
-+++ b/lib/flb_libco/ppc.c
-@@ -279,7 +279,9 @@ static uint32_t* co_create_(unsigned size, uintptr_t entry) {
- return t;
- }
-
--cothread_t co_create(unsigned int size, void (*entry_)(void)) {
-+cothread_t co_create(unsigned int size, void (*entry_)(void),
-+ size_t *out_size) {
-+
- uintptr_t entry = (uintptr_t)entry_;
- uint32_t* t = 0;
-
-@@ -325,7 +327,7 @@ cothread_t co_create(unsigned int size, void (*entry_)(void)) {
- t[10] = (uint32_t)(sp >> shift >> shift);
- t[11] = (uint32_t)sp;
- }
--
-+ *out_size = size;
- return t;
- }
-
---
-2.25.0
-
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
deleted file mode 100644
index 91675dfc6..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 7c3b1dfb174312594d3317c24ed71c60398f653f Mon Sep 17 00:00:00 2001
-From: Ramon Fried <ramon@neureality.ai>
-Date: Wed, 10 Feb 2021 04:23:36 +0200
-Subject: [PATCH] parser: Fix SIGSEGV caused by using flb_free instead of
- mk_mem_free
-
-Upstream-Status: Backport (fix only for 1.3.5)
-Signed-off-by: Ramon Fried <ramon@neureality.ai>
----
- src/flb_parser.c | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/src/flb_parser.c b/src/flb_parser.c
-index d35c568..7c20e12 100644
---- a/src/flb_parser.c
-+++ b/src/flb_parser.c
-@@ -490,7 +490,7 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
- MK_RCONF_STR);
- if (str) {
- time_keep = flb_utils_bool(str);
-- flb_free(str);
-+ mk_mem_free(str);
- }
- else {
- time_keep = FLB_FALSE;
-@@ -522,23 +522,23 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
-
- flb_debug("[parser] new parser registered: %s", name);
-
-- flb_free(name);
-- flb_free(format);
-+ mk_mem_free(name);
-+ mk_mem_free(format);
-
- if (regex) {
-- flb_free(regex);
-+ mk_mem_free(regex);
- }
- if (time_fmt) {
-- flb_free(time_fmt);
-+ mk_mem_free(time_fmt);
- }
- if (time_key) {
-- flb_free(time_key);
-+ mk_mem_free(time_key);
- }
- if (time_offset) {
-- flb_free(time_offset);
-+ mk_mem_free(time_offset);
- }
- if (types_str) {
-- flb_free(types_str);
-+ mk_mem_free(types_str);
- }
-
- decoders = NULL;
-@@ -548,19 +548,19 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
- return 0;
-
- fconf_error:
-- flb_free(name);
-- flb_free(format);
-+ mk_mem_free(name);
-+ mk_mem_free(format);
- if (regex) {
-- flb_free(regex);
-+ mk_mem_free(regex);
- }
- if (time_fmt) {
-- flb_free(time_fmt);
-+ mk_mem_free(time_fmt);
- }
- if (time_key) {
-- flb_free(time_key);
-+ mk_mem_free(time_key);
- }
- if (types_str) {
-- flb_free(types_str);
-+ mk_mem_free(types_str);
- }
- if (decoders) {
- flb_parser_decoder_list_destroy(decoders);
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
deleted file mode 100644
index 8ffc3be3e..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-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;
- }
-
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
index d3822fc8d..eb4095dac 100644
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
@@ -2,13 +2,27 @@ 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})
+Index: fluentbit/CMakeLists.txt
+===================================================================
+--- fluentbit.orig/CMakeLists.txt
++++ fluentbit/CMakeLists.txt
+@@ -103,6 +103,8 @@ option(FLB_SIGNV4 "Enable A
+ option(FLB_AWS "Enable AWS support" 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")
+ option(FLB_AVRO_ENCODER "Build with Avro encoding support" No)
+ option(FLB_AWS_ERROR_REPORTER "Build with aws error reporting support" No)
+Index: fluentbit/src/CMakeLists.txt
+===================================================================
+--- fluentbit.orig/src/CMakeLists.txt
++++ fluentbit/src/CMakeLists.txt
+@@ -478,7 +478,7 @@ if(FLB_BINARY)
+ endif()
# Detect init system, install upstart, systemd or init.d script
- if(IS_DIRECTORY /lib/systemd/system)
@@ -16,23 +30,12 @@ Signed-off-by: Khem Raj <raj.kheem@gmail.com>
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)
+@@ -486,7 +486,7 @@ if(FLB_BINARY)
)
- install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
- install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR})
+ install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION /lib/systemd/system)
+ install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary)
- elseif(IS_DIRECTORY /usr/share/upstart)
+ elseif(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
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
index 67b3397a6..b34cf9a24 100644
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
@@ -1,16 +1,17 @@
Add --with-jemalloc-prefix=je_ so it compiles on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
---- 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-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)
- INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/
+Index: fluentbit/CMakeLists.txt
+===================================================================
+--- fluentbit.orig/CMakeLists.txt
++++ fluentbit/CMakeLists.txt
+@@ -739,7 +739,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME}
+
+ # Add support for options like page size, if empty we default it
+ if(NOT DEFINED FLB_JEMALLOC_OPTIONS OR "${FLB_JEMALLOC_OPTIONS}" STREQUAL "")
+- set(FLB_JEMALLOC_OPTIONS "--with-lg-quantum=3")
++ set(FLB_JEMALLOC_OPTIONS "--with-jemalloc-prefix=je_ --with-lg-quantum=3")
+ endif()
+ # Split into a list so CMake handles it correctly when passing to configure command
+ separate_arguments(FLB_JEMALLOC_OPTIONS_LIST UNIX_COMMAND ${FLB_JEMALLOC_OPTIONS})
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.3.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.3.bb
new file mode 100644
index 000000000..606bcc867
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.3.bb
@@ -0,0 +1,69 @@
+#
+#
+# CLEANUP_AFTER_UPSTREAM
+# As meta-oe is outdated, this recipe has been backported from fluent-bit latest release.
+# Source - https://github.com/fluent/fluent-bit/blob/v1.9.3/fluent-bit_1.9.3.bb
+# Delete this recipe once we upstream the latest recipe from fluent-bit to meta-oe.
+# (Keep the bbappend since the meta-oe version lacks that configuration)
+#
+#
+
+# Fluent Bit - Yocto / Bitbake
+# ============================
+# The following Bitbake package the latest Fluent Bit stable release.
+
+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"
+
+PV = "1.9.3"
+
+SRCREV = "9eb4996b7d134227b568aefa5fa0f9ddd6a7b9ce"
+SRC_URI = "git://github.com/fluent/fluent-bit.git;protocol=https;branch=master"
+
+SRC_URI = "file://jemalloc.patch \
+ file://cross-build-init-system-detection.patch \
+ file://control-sytemd-unit-install-location-with-SYSTEM_DIR.patch"
+
+S = "${WORKDIR}/git"
+DEPENDS = "zlib bison-native flex-native"
+
+# Use CMake 'Unix Makefiles' generator
+OECMAKE_GENERATOR ?= "Unix Makefiles"
+
+# Fluent Bit build options
+# ========================
+
+# Host related setup
+EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} "
+
+# 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 "
+
+# Systemd support (optional)
+DEPENDS += "systemd"
+EXTRA_OECMAKE += "-DFLB_IN_SYSTEMD=On "
+
+# 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
+
+SYSTEMD_SERVICE_${PN} = "fluent-bit.service"
+TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}"
\ No newline at end of file
--
2.34.0.windows.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [meta-oe][PATCH] Upgrade fluentbit recipe from version 1.3.5 to 1.9.3
@ 2022-05-11 16:01 Lekshmi Ravindran
2022-05-11 16:04 ` Lekshmi Ravindran
0 siblings, 1 reply; 4+ messages in thread
From: Lekshmi Ravindran @ 2022-05-11 16:01 UTC (permalink / raw)
To: openembedded-devel
From: Lekshmi Ravindran <lravindran@microsoft.com>
The current fluentbit version with oe is much old and outdated.
Upgrading to latest version to leverage better stability,
performance and newer feature set from the fluentbit project.
Source - https://github.com/fluent/fluent-bit/blob/v1.9.3/fluent-bit_1.9.3.bb
Signed-off-by: Lekshmi Ravindran <lravindran@linux.microsoft.com>
---
...nit-install-location-with-SYSTEM_DIR.patch | 28 -------
...caused-by-using-flb_free-instead-of-.patch | 43 ----------
...-ppc-Fix-signature-for-co_create-API.patch | 38 ---------
...GV-caused-by-using-flb_free-instead-.patch | 82 -------------------
.../fluentbit/fluentbit/builtin-nan.patch | 27 ------
.../cross-build-init-system-detection.patch | 38 ---------
.../fluentbit/fluentbit/jemalloc.patch | 16 ----
.../fluentbit/fluentbit_1.3.5.bb | 69 ----------------
.../fluentbit/fluentbit_1.9.3.bb | 56 +++++++++++++
9 files changed, 56 insertions(+), 341 deletions(-)
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
create mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit_1.9.3.bb
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
deleted file mode 100644
index bf4cda08f..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 5571f949fa2048b79c197b5b10a11ecb1891cbe9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 23 Apr 2022 08:24:34 -0700
-Subject: [PATCH] Control sytemd unit install location with SYSTEM_DIR
-
-This helps building when usrmerge is on
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/CMakeLists.txt | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -323,7 +323,11 @@ if(FLB_BINARY)
- "${PROJECT_SOURCE_DIR}/init/systemd.in"
- ${FLB_SYSTEMD_SCRIPT}
- )
-- install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
-+ if(SYSTEMD_DIR)
-+ install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION ${SYSTEMD_DIR})
-+ else()
-+ install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
-+ endif()
- install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR})
- elseif(FLB_UPSTART)
- set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
deleted file mode 100644
index a6ff5991c..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 3d7390c89c2205d1eed0384be0bb65adb675e60d Mon Sep 17 00:00:00 2001
-From: Ramon Fried <ramon@neureality.ai>
-Date: Tue, 9 Feb 2021 18:59:59 +0200
-Subject: [PATCH] bin: fix SIGSEGV caused by using flb_free instead of
- mk_mem_free
-
-Upstream-Status: Accepted
-Signed-off-by: Ramon Fried <ramon@neureality.ai>
----
- src/fluent-bit.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/fluent-bit.c b/src/fluent-bit.c
-index c0c73b4..989cfde 100644
---- a/src/fluent-bit.c
-+++ b/src/fluent-bit.c
-@@ -289,7 +289,7 @@ static int input_set_property(struct flb_input_instance *in, char *kv)
- in->p->name, key);
- }
-
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
-@@ -314,7 +314,7 @@ static int output_set_property(struct flb_output_instance *out, char *kv)
- }
-
- ret = flb_output_set_property(out, key, value);
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
-@@ -340,7 +340,7 @@ static int filter_set_property(struct flb_filter_instance *filter, char *kv)
- }
-
- ret = flb_filter_set_property(filter, key, value);
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
deleted file mode 100644
index 1f36c657e..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From be4032079c931704f52e29f5da5c01cde24ac842 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 16 Jan 2020 10:44:58 -0800
-Subject: [PATCH] ppc: Fix signature for co_create API
-
-Upstream-Status: Submitted [https://github.com/fluent/fluent-bit/pull/1886]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/flb_libco/ppc.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/lib/flb_libco/ppc.c b/lib/flb_libco/ppc.c
-index e6536d56..533256b3 100644
---- a/lib/flb_libco/ppc.c
-+++ b/lib/flb_libco/ppc.c
-@@ -279,7 +279,9 @@ static uint32_t* co_create_(unsigned size, uintptr_t entry) {
- return t;
- }
-
--cothread_t co_create(unsigned int size, void (*entry_)(void)) {
-+cothread_t co_create(unsigned int size, void (*entry_)(void),
-+ size_t *out_size) {
-+
- uintptr_t entry = (uintptr_t)entry_;
- uint32_t* t = 0;
-
-@@ -325,7 +327,7 @@ cothread_t co_create(unsigned int size, void (*entry_)(void)) {
- t[10] = (uint32_t)(sp >> shift >> shift);
- t[11] = (uint32_t)sp;
- }
--
-+ *out_size = size;
- return t;
- }
-
---
-2.25.0
-
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
deleted file mode 100644
index 91675dfc6..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 7c3b1dfb174312594d3317c24ed71c60398f653f Mon Sep 17 00:00:00 2001
-From: Ramon Fried <ramon@neureality.ai>
-Date: Wed, 10 Feb 2021 04:23:36 +0200
-Subject: [PATCH] parser: Fix SIGSEGV caused by using flb_free instead of
- mk_mem_free
-
-Upstream-Status: Backport (fix only for 1.3.5)
-Signed-off-by: Ramon Fried <ramon@neureality.ai>
----
- src/flb_parser.c | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/src/flb_parser.c b/src/flb_parser.c
-index d35c568..7c20e12 100644
---- a/src/flb_parser.c
-+++ b/src/flb_parser.c
-@@ -490,7 +490,7 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
- MK_RCONF_STR);
- if (str) {
- time_keep = flb_utils_bool(str);
-- flb_free(str);
-+ mk_mem_free(str);
- }
- else {
- time_keep = FLB_FALSE;
-@@ -522,23 +522,23 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
-
- flb_debug("[parser] new parser registered: %s", name);
-
-- flb_free(name);
-- flb_free(format);
-+ mk_mem_free(name);
-+ mk_mem_free(format);
-
- if (regex) {
-- flb_free(regex);
-+ mk_mem_free(regex);
- }
- if (time_fmt) {
-- flb_free(time_fmt);
-+ mk_mem_free(time_fmt);
- }
- if (time_key) {
-- flb_free(time_key);
-+ mk_mem_free(time_key);
- }
- if (time_offset) {
-- flb_free(time_offset);
-+ mk_mem_free(time_offset);
- }
- if (types_str) {
-- flb_free(types_str);
-+ mk_mem_free(types_str);
- }
-
- decoders = NULL;
-@@ -548,19 +548,19 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
- return 0;
-
- fconf_error:
-- flb_free(name);
-- flb_free(format);
-+ mk_mem_free(name);
-+ mk_mem_free(format);
- if (regex) {
-- flb_free(regex);
-+ mk_mem_free(regex);
- }
- if (time_fmt) {
-- flb_free(time_fmt);
-+ mk_mem_free(time_fmt);
- }
- if (time_key) {
-- flb_free(time_key);
-+ mk_mem_free(time_key);
- }
- if (types_str) {
-- flb_free(types_str);
-+ mk_mem_free(types_str);
- }
- if (decoders) {
- flb_parser_decoder_list_destroy(decoders);
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
deleted file mode 100644
index 8ffc3be3e..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-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;
- }
-
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
deleted file mode 100644
index d3822fc8d..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-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(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(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
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
deleted file mode 100644
index 67b3397a6..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Add --with-jemalloc-prefix=je_ so it compiles on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
---- 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-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)
- INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
deleted file mode 100644
index b231cc287..000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-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 \
- file://0001-ppc-Fix-signature-for-co_create-API.patch \
- file://0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch \
- file://0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch \
- file://0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch \
- "
-SRC_URI[md5sum] = "6eae6dfd0a874e5dd270c36e9c68f747"
-SRC_URI[sha256sum] = "e037c76c89269c8dc4027a08e442fefd2751b0f1e0f9c38f9a4b12d781a9c789"
-
-S = "${WORKDIR}/fluent-bit-${PV}"
-DEPENDS = "zlib bison-native flex-native"
-DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-DEPENDS:append:libc-musl = " fts "
-
-INSANE_SKIP:${PN}-dev += "dev-elf"
-
-LTO = ""
-
-# 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 "
-
-# Enable systemd iff systemd is in DISTRO_FEATURES
-EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On -DSYSTEMD_DIR=${systemd_system_unitdir}','-DFLB_SYSTEMD=Off',d)}"
-
-EXTRA_OECMAKE:append:riscv64 = " -DFLB_DEPS='atomic'"
-EXTRA_OECMAKE:append:riscv32 = " -DFLB_DEPS='atomic'"
-
-# 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
-
-CFLAGS += "-fcommon"
-
-SYSTEMD_SERVICE:${PN} = "td-agent-bit.service"
-TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}"
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.3.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.3.bb
new file mode 100644
index 000000000..ca5c00485
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.3.bb
@@ -0,0 +1,56 @@
+# Fluent Bit - Yocto / Bitbake
+# ============================
+# The following Bitbake package the latest Fluent Bit stable release.
+
+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"
+
+PV = "1.9.3"
+
+SRCREV = "9eb4996b7d134227b568aefa5fa0f9ddd6a7b9ce"
+SRC_URI = "git://github.com/fluent/fluent-bit.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+DEPENDS = "zlib bison-native flex-native"
+TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
+
+# Use CMake 'Unix Makefiles' generator
+OECMAKE_GENERATOR ?= "Unix Makefiles"
+
+# Fluent Bit build options
+# ========================
+
+# Host related setup
+EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} "
+
+# 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 "
+
+# Systemd support (optional)
+DEPENDS += "systemd"
+EXTRA_OECMAKE += "-DFLB_IN_SYSTEMD=On "
+
+# 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
+
+SYSTEMD_SERVICE_${PN} = "fluent-bit.service"
+TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}"
\ No newline at end of file
--
2.34.0.windows.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-05-27 17:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-20 23:30 [meta-oe][PATCH] Upgrade fluentbit recipe from version 1.3.5 to 1.9.3 Lekshmi Ravindran
2022-05-27 17:50 ` [meta-oe][PATCH V2] " Lekshmi Ravindran
-- strict thread matches above, loose matches on Subject: below --
2022-05-11 16:01 [meta-oe][PATCH] " Lekshmi Ravindran
2022-05-11 16:04 ` Lekshmi Ravindran
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.