Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 6/9] package/falcosecurity-libs: convert to a virtual package
  2026-10-30 13:59 Angelo Compagnucci
@ 2026-10-30 13:59 ` Angelo Compagnucci
  0 siblings, 0 replies; 11+ messages in thread
From: Angelo Compagnucci @ 2026-10-30 13:59 UTC (permalink / raw)
  To: buildroot; +Cc: Francis Laniel, Angelo Compagnucci

Since version 0.11.0, the falcosecurity-libs userspace libraries only
support 64-bit architectures, as they get the system call numbers from
tables which only exist for them.

In order to provide a different version for 32-bit architectures,
convert falcosecurity-libs into a virtual package. For now, it is only
provided by falcosecurity-libs-latest, which is the former
falcosecurity-libs package, unchanged.

The license, the driver name, the kernel module make options and the
Linux kernel configuration fixups, which will be shared by the
providers, stay in the virtual package.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 package/falcosecurity-libs/Config.in          | 16 +++--
 ...-pass-ARCH-and-CROSS_COMPILE-to-the-.patch |  0
 ...ver-replace-removed-task_euid-helper.patch |  0
 .../falcosecurity-libs-latest/Config.in       |  9 +++
 .../falcosecurity-libs-latest.hash}           |  0
 .../falcosecurity-libs-latest.mk              | 67 +++++++++++++++++++
 .../falcosecurity-libs/falcosecurity-libs.mk  | 59 ++--------------
 7 files changed, 91 insertions(+), 60 deletions(-)
 rename package/falcosecurity-libs/{ => falcosecurity-libs-latest}/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch (100%)
 rename package/falcosecurity-libs/{ => falcosecurity-libs-latest}/0002-fix-driver-replace-removed-task_euid-helper.patch (100%)
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-latest/Config.in
 rename package/falcosecurity-libs/{falcosecurity-libs.hash => falcosecurity-libs-latest/falcosecurity-libs-latest.hash} (100%)
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.mk

diff --git a/package/falcosecurity-libs/Config.in b/package/falcosecurity-libs/Config.in
index c73b92d78f..495dd2b8ca 100644
--- a/package/falcosecurity-libs/Config.in
+++ b/package/falcosecurity-libs/Config.in
@@ -19,14 +19,18 @@ config BR2_PACKAGE_FALCOSECURITY_LIBS
 	depends on !BR2_STATIC_LIBS # re2, tbb
 	depends on !BR2_TOOLCHAIN_USES_UCLIBC # tbb
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # tbb
-	select BR2_PACKAGE_JSONCPP
-	select BR2_PACKAGE_RE2
-	select BR2_PACKAGE_TBB
-	select BR2_PACKAGE_UTHASH
-	select BR2_PACKAGE_VALIJSON
-	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_FALCOSECURITY_LIBS_LATEST
 	help
 	  falcosecurity/libs provides libsinsp, libscap, the kernel
 	  module driver and the eBPF driver sources.
 
 	  https://github.com/falcosecurity/libs
+
+config BR2_PACKAGE_HAS_FALCOSECURITY_LIBS
+	bool
+
+config BR2_PACKAGE_PROVIDES_FALCOSECURITY_LIBS
+	string
+	default "falcosecurity-libs-latest"
+
+source "package/falcosecurity-libs/falcosecurity-libs-latest/Config.in"
diff --git a/package/falcosecurity-libs/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch b/package/falcosecurity-libs/falcosecurity-libs-latest/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch
similarity index 100%
rename from package/falcosecurity-libs/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch
rename to package/falcosecurity-libs/falcosecurity-libs-latest/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch
diff --git a/package/falcosecurity-libs/0002-fix-driver-replace-removed-task_euid-helper.patch b/package/falcosecurity-libs/falcosecurity-libs-latest/0002-fix-driver-replace-removed-task_euid-helper.patch
similarity index 100%
rename from package/falcosecurity-libs/0002-fix-driver-replace-removed-task_euid-helper.patch
rename to package/falcosecurity-libs/falcosecurity-libs-latest/0002-fix-driver-replace-removed-task_euid-helper.patch
diff --git a/package/falcosecurity-libs/falcosecurity-libs-latest/Config.in b/package/falcosecurity-libs/falcosecurity-libs-latest/Config.in
new file mode 100644
index 0000000000..2115e9a928
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-latest/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_FALCOSECURITY_LIBS_LATEST
+	bool
+	select BR2_PACKAGE_HAS_FALCOSECURITY_LIBS
+	select BR2_PACKAGE_JSONCPP
+	select BR2_PACKAGE_RE2
+	select BR2_PACKAGE_TBB
+	select BR2_PACKAGE_UTHASH
+	select BR2_PACKAGE_VALIJSON
+	select BR2_PACKAGE_ZLIB
diff --git a/package/falcosecurity-libs/falcosecurity-libs.hash b/package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.hash
similarity index 100%
rename from package/falcosecurity-libs/falcosecurity-libs.hash
rename to package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.hash
diff --git a/package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.mk b/package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.mk
new file mode 100644
index 0000000000..6e078e080a
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.mk
@@ -0,0 +1,67 @@
+################################################################################
+#
+# falcosecurity-libs-latest
+#
+################################################################################
+
+FALCOSECURITY_LIBS_LATEST_VERSION = 0.21.0
+FALCOSECURITY_LIBS_LATEST_SITE = $(call github,falcosecurity,libs,$(FALCOSECURITY_LIBS_LATEST_VERSION))
+FALCOSECURITY_LIBS_LATEST_SOURCE = falcosecurity-libs-$(FALCOSECURITY_LIBS_LATEST_VERSION).tar.gz
+FALCOSECURITY_LIBS_LATEST_DL_SUBDIR = falcosecurity-libs
+FALCOSECURITY_LIBS_LATEST_LICENSE = $(FALCOSECURITY_LIBS_LICENSE)
+FALCOSECURITY_LIBS_LATEST_LICENSE_FILES = $(FALCOSECURITY_LIBS_LICENSE_FILES)
+FALCOSECURITY_LIBS_LATEST_PROVIDES = falcosecurity-libs
+FALCOSECURITY_LIBS_LATEST_INSTALL_STAGING = YES
+FALCOSECURITY_LIBS_LATEST_SUPPORTS_IN_SOURCE_BUILD = NO
+
+FALCOSECURITY_LIBS_LATEST_DEPENDENCIES = \
+	jsoncpp \
+	re2 \
+	tbb \
+	uthash \
+	valijson \
+	zlib
+
+# The version can't be computed from git, as we build from a tarball.
+FALCOSECURITY_LIBS_LATEST_CONF_OPTS = \
+	-DUSE_BUNDLED_DEPS=OFF \
+	-DFALCOSECURITY_LIBS_VERSION=$(FALCOSECURITY_LIBS_LATEST_VERSION) \
+	-DCREATE_TEST_TARGETS=OFF \
+	-DBUILD_LIBSCAP_EXAMPLES=OFF \
+	-DBUILD_LIBSINSP_EXAMPLES=OFF
+
+# Only the kernel module driver is built. To keep the build small, the
+# eBPF engine, which needs elfutils, and the gVisor engine, only
+# available on x86_64, which needs protobuf, are disabled: they can be
+# enabled in a following patch. The modern eBPF probe would also need
+# clang and bpftool to be built.
+FALCOSECURITY_LIBS_LATEST_CONF_OPTS += \
+	-DENABLE_ENGINE_BPF=OFF \
+	-DBUILD_LIBSCAP_MODERN_BPF=OFF \
+	-DBUILD_LIBSCAP_GVISOR=OFF
+
+# The driver CMakeLists.txt only prepares the kernel module sources and
+# Makefile in the driver/src build directory, which are then built with
+# the kernel-module infrastructure.
+FALCOSECURITY_LIBS_LATEST_CONF_OPTS += \
+	-DUSE_BUNDLED_DRIVER=ON \
+	-DBUILD_DRIVER=OFF \
+	-DENABLE_DKMS=OFF \
+	-DDRIVER_VERSION=$(FALCOSECURITY_LIBS_LATEST_VERSION) \
+	-DDRIVER_NAME=$(FALCOSECURITY_LIBS_DRIVER_NAME)
+
+# The pkg-config files define the prefix relative to their location and
+# contain the absolute paths of the dependencies in staging, which
+# pkg-config would all prefix with the sysroot again.
+define FALCOSECURITY_LIBS_LATEST_FIX_PKGCONFIG
+	$(SED) 's%^prefix=.*%prefix=/usr%;s%$(STAGING_DIR)%%g' \
+		$(STAGING_DIR)/usr/lib/pkgconfig/libscap.pc \
+		$(STAGING_DIR)/usr/lib/pkgconfig/libsinsp.pc
+endef
+FALCOSECURITY_LIBS_LATEST_POST_INSTALL_STAGING_HOOKS += FALCOSECURITY_LIBS_LATEST_FIX_PKGCONFIG
+
+FALCOSECURITY_LIBS_LATEST_MODULE_SUBDIRS = buildroot-build/driver/src
+FALCOSECURITY_LIBS_LATEST_MODULE_MAKE_OPTS = $(FALCOSECURITY_LIBS_MODULE_MAKE_OPTS)
+
+$(eval $(kernel-module))
+$(eval $(cmake-package))
diff --git a/package/falcosecurity-libs/falcosecurity-libs.mk b/package/falcosecurity-libs/falcosecurity-libs.mk
index 28de5c0c9d..0437648383 100644
--- a/package/falcosecurity-libs/falcosecurity-libs.mk
+++ b/package/falcosecurity-libs/falcosecurity-libs.mk
@@ -4,62 +4,12 @@
 #
 ################################################################################
 
-FALCOSECURITY_LIBS_VERSION = 0.21.0
-FALCOSECURITY_LIBS_SITE = $(call github,falcosecurity,libs,$(FALCOSECURITY_LIBS_VERSION))
+# falcosecurity-libs is provided by falcosecurity-libs-latest.
+
 FALCOSECURITY_LIBS_LICENSE = Apache-2.0 (userspace), MIT or GPL-2.0 (driver)
 FALCOSECURITY_LIBS_LICENSE_FILES = COPYING driver/MIT.txt driver/GPL2.txt
-FALCOSECURITY_LIBS_INSTALL_STAGING = YES
-FALCOSECURITY_LIBS_SUPPORTS_IN_SOURCE_BUILD = NO
-
-FALCOSECURITY_LIBS_DEPENDENCIES = \
-	jsoncpp \
-	re2 \
-	tbb \
-	uthash \
-	valijson \
-	zlib
 
 FALCOSECURITY_LIBS_DRIVER_NAME = scap
-
-# The version can't be computed from git, as we build from a tarball.
-FALCOSECURITY_LIBS_CONF_OPTS = \
-	-DUSE_BUNDLED_DEPS=OFF \
-	-DFALCOSECURITY_LIBS_VERSION=$(FALCOSECURITY_LIBS_VERSION) \
-	-DCREATE_TEST_TARGETS=OFF \
-	-DBUILD_LIBSCAP_EXAMPLES=OFF \
-	-DBUILD_LIBSINSP_EXAMPLES=OFF
-
-# Only the kernel module driver is built. To keep the build small, the
-# eBPF engine, which needs elfutils, and the gVisor engine, only
-# available on x86_64, which needs protobuf, are disabled: they can be
-# enabled in a following patch. The modern eBPF probe would also need
-# clang and bpftool to be built.
-FALCOSECURITY_LIBS_CONF_OPTS += \
-	-DENABLE_ENGINE_BPF=OFF \
-	-DBUILD_LIBSCAP_MODERN_BPF=OFF \
-	-DBUILD_LIBSCAP_GVISOR=OFF
-
-# The driver CMakeLists.txt only prepares the kernel module sources and
-# Makefile in the driver/src build directory, which are then built with
-# the kernel-module infrastructure.
-FALCOSECURITY_LIBS_CONF_OPTS += \
-	-DUSE_BUNDLED_DRIVER=ON \
-	-DBUILD_DRIVER=OFF \
-	-DENABLE_DKMS=OFF \
-	-DDRIVER_VERSION=$(FALCOSECURITY_LIBS_VERSION) \
-	-DDRIVER_NAME=$(FALCOSECURITY_LIBS_DRIVER_NAME)
-
-# The pkg-config files define the prefix relative to their location and
-# contain the absolute paths of the dependencies in staging, which
-# pkg-config would all prefix with the sysroot again.
-define FALCOSECURITY_LIBS_FIX_PKGCONFIG
-	$(SED) 's%^prefix=.*%prefix=/usr%;s%$(STAGING_DIR)%%g' \
-		$(STAGING_DIR)/usr/lib/pkgconfig/libscap.pc \
-		$(STAGING_DIR)/usr/lib/pkgconfig/libsinsp.pc
-endef
-FALCOSECURITY_LIBS_POST_INSTALL_STAGING_HOOKS += FALCOSECURITY_LIBS_FIX_PKGCONFIG
-
-FALCOSECURITY_LIBS_MODULE_SUBDIRS = buildroot-build/driver/src
 FALCOSECURITY_LIBS_MODULE_MAKE_OPTS = KERNELDIR=$(LINUX_DIR)
 
 # falcosecurity-libs module needs these two kernel options to be set:
@@ -76,5 +26,6 @@ define FALCOSECURITY_LIBS_LINUX_CONFIG_FIXUPS
 	$(call KCONFIG_ENABLE_OPT,CONFIG_IPV6)
 endef
 
-$(eval $(kernel-module))
-$(eval $(cmake-package))
+$(eval $(virtual-package))
+
+include $(sort $(wildcard package/falcosecurity-libs/*/*.mk))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH 1/9] package/uthash: new package
@ 2026-10-30 15:24 Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 2/9] package/webrtc-audio-processing: fix build with musl Angelo Compagnucci
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: Angelo Compagnucci @ 2026-10-30 15:24 UTC (permalink / raw)
  To: buildroot; +Cc: Francis Laniel, Angelo Compagnucci

uthash is a set of C macros implementing hash tables, linked lists,
dynamic arrays and other data structures, provided as headers only.

It is needed by falcosecurity-libs, which otherwise downloads uthash.h
at build time.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 DEVELOPERS                 |  1 +
 package/Config.in          |  1 +
 package/sysdig/Config.in   |  2 +-
 package/uthash/Config.in   |  8 ++++++++
 package/uthash/uthash.hash |  3 +++
 package/uthash/uthash.mk   | 19 +++++++++++++++++++
 6 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 package/uthash/Config.in
 create mode 100644 package/uthash/uthash.hash
 create mode 100644 package/uthash/uthash.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index b4ada4e1f9..8ca72bec84 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -261,6 +261,7 @@ F:	package/sam-ba/
 F:	package/sshguard/
 F:	package/sunwait/
 F:	package/sysdig/
+F:	package/uthash/
 
 N:	Andy Shevchenko <andy.shevchenko@gmail.com>
 F:	package/fb-test-app/
diff --git a/package/Config.in b/package/Config.in
index 796c4f1ad6..02932e5ac1 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2323,6 +2323,7 @@ endif
 	source "package/tllist/Config.in"
 	source "package/tz/Config.in"
 	source "package/tzdata/Config.in"
+	source "package/uthash/Config.in"
 	source "package/uvw/Config.in"
 	source "package/volk/Config.in"
 	source "package/xapian/Config.in"
diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in
index 73ac03e240..038a9734aa 100644
--- a/package/sysdig/Config.in
+++ b/package/sysdig/Config.in
@@ -24,7 +24,7 @@ config BR2_PACKAGE_SYSDIG
 
 	  https://github.com/draios/sysdig/wiki
 
-comment "sysdig needs a glibc toolchain w/ C++, threads, wchar, gcc >= 10, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built"
+comment "sysdig needs a glibc or musl toolchain w/ C++, threads, wchar, gcc >= 10, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built"
 	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
diff --git a/package/uthash/Config.in b/package/uthash/Config.in
new file mode 100644
index 0000000000..e19c277abd
--- /dev/null
+++ b/package/uthash/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_UTHASH
+	bool "uthash"
+	help
+	  uthash is a set of C macros implementing hash tables, linked
+	  lists, dynamic arrays and other data structures, provided as
+	  headers only.
+
+	  https://troydhanson.github.io/uthash/
diff --git a/package/uthash/uthash.hash b/package/uthash/uthash.hash
new file mode 100644
index 0000000000..37a5a66aba
--- /dev/null
+++ b/package/uthash/uthash.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  387ba027946d7c64e9aa19cc53b2edcd714f8f9dca9fa8e3aaef17e0e8e3d736  uthash-2.4.0.tar.gz
+sha256  40f48f89e1d0095bf1c5fb4d00affd74959c3ff77463b672cf7fac547d1d6465  LICENSE
diff --git a/package/uthash/uthash.mk b/package/uthash/uthash.mk
new file mode 100644
index 0000000000..2107a90d56
--- /dev/null
+++ b/package/uthash/uthash.mk
@@ -0,0 +1,19 @@
+################################################################################
+#
+# uthash
+#
+################################################################################
+
+UTHASH_VERSION = 2.4.0
+UTHASH_SITE = $(call github,troydhanson,uthash,v$(UTHASH_VERSION))
+UTHASH_LICENSE = BSD-1-Clause
+UTHASH_LICENSE_FILES = LICENSE
+UTHASH_INSTALL_STAGING = YES
+UTHASH_INSTALL_TARGET = NO
+
+define UTHASH_INSTALL_STAGING_CMDS
+	$(INSTALL) -d $(STAGING_DIR)/usr/include
+	$(INSTALL) -m 0644 $(@D)/src/*.h $(STAGING_DIR)/usr/include
+endef
+
+$(eval $(generic-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH 2/9] package/webrtc-audio-processing: fix build with musl
  2026-10-30 15:24 [Buildroot] [PATCH 1/9] package/uthash: new package Angelo Compagnucci
@ 2026-10-30 15:24 ` Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 3/9] package/libabseil-cpp: allow building " Angelo Compagnucci
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Angelo Compagnucci @ 2026-10-30 15:24 UTC (permalink / raw)
  To: buildroot; +Cc: Francis Laniel, Angelo Compagnucci

webrtc/rtc_base/system/file_wrapper.h uses int64_t without including
<stdint.h>. With glibc it is defined anyway, as <stdlib.h>, included by
the C++ <string> header, includes <sys/types.h>, but not with musl:

  ../webrtc/rtc_base/system/file_wrapper.h:86:21: error: 'int64_t' has not been declared

Backport the upstream fix adding the missing include.

This was not noticed before, as webrtc-audio-processing selects
libabseil-cpp, which was not available on musl.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 ...-file_wrapper.h-Fix-build-with-GCC13.patch | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 package/webrtc-audio-processing/0002-file_wrapper.h-Fix-build-with-GCC13.patch

diff --git a/package/webrtc-audio-processing/0002-file_wrapper.h-Fix-build-with-GCC13.patch b/package/webrtc-audio-processing/0002-file_wrapper.h-Fix-build-with-GCC13.patch
new file mode 100644
index 0000000000..deecb8e3c6
--- /dev/null
+++ b/package/webrtc-audio-processing/0002-file_wrapper.h-Fix-build-with-GCC13.patch
@@ -0,0 +1,30 @@
+From 9a202fb8c218223d24dfbbe6130053c68111e97a Mon Sep 17 00:00:00 2001
+From: "L. E. Segovia" <amy@centricular.com>
+Date: Sat, 23 Mar 2024 16:34:50 -0300
+Subject: [PATCH] file_wrapper.h: Fix build with GCC13
+
+It is a missed instance of cdec109331de34958a892a1418d67806b171b862 (!31).
+
+Fixes #32
+
+Upstream: https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/commit/9a202fb8c218223d24dfbbe6130053c68111e97a
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+---
+ webrtc/rtc_base/system/file_wrapper.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/webrtc/rtc_base/system/file_wrapper.h b/webrtc/rtc_base/system/file_wrapper.h
+index 42c463c..bfd8fcd 100644
+--- a/webrtc/rtc_base/system/file_wrapper.h
++++ b/webrtc/rtc_base/system/file_wrapper.h
+@@ -13,6 +13,7 @@
+ 
+ #include <stddef.h>
+ #include <stdio.h>
++#include <stdint.h>
+ 
+ #include <string>
+ 
+-- 
+GitLab
+
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH 3/9] package/libabseil-cpp: allow building with musl
  2026-10-30 15:24 [Buildroot] [PATCH 1/9] package/uthash: new package Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 2/9] package/webrtc-audio-processing: fix build with musl Angelo Compagnucci
@ 2026-10-30 15:24 ` Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 4/9] package/falcosecurity-libs: bump to version 0.21.0 Angelo Compagnucci
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Angelo Compagnucci @ 2026-10-30 15:24 UTC (permalink / raw)
  To: buildroot; +Cc: Francis Laniel, Angelo Compagnucci

libabseil-cpp depends on BR2_TOOLCHAIN_HAS_UCONTEXT, which is not set
for musl, as it doesn't provide the {get,make,set}context functions.

However, absl/debugging/internal/examine_stack.cc only uses the ucontext
data structures, to get the program counter from the signal context,
and never calls those functions. musl provides those data structures,
so allow building with musl.

On 32-bit powerpc, examine_stack.cc assumes the glibc layout of
mcontext_t (uc_mcontext.uc_regs), which is different with musl, so keep
it disabled there.

examine_stack.cc was build-tested with the Bootlin musl toolchains for
aarch64, armv7, i686, x86-64, m68k, mips32el, powerpc64, powerpc64le,
riscv32, riscv64, s390x and sh4, and libabseil-cpp, re2, protobuf, grpc
and webrtc-audio-processing with the aarch64 and armv7 musl toolchains.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 package/libabseil-cpp/Config.in | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/package/libabseil-cpp/Config.in b/package/libabseil-cpp/Config.in
index aba065fca7..ea037f5de2 100644
--- a/package/libabseil-cpp/Config.in
+++ b/package/libabseil-cpp/Config.in
@@ -13,7 +13,11 @@ config BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
 	default y if BR2_sh
 	default y if BR2_sparc || BR2_sparc64
 	default y if BR2_x86_64
-	depends on BR2_TOOLCHAIN_HAS_UCONTEXT
+	# Only the ucontext data structures are used, not the
+	# {get,make,set}context functions, so musl is supported, except
+	# on 32-bit powerpc, where the glibc mcontext_t layout is assumed.
+	depends on BR2_TOOLCHAIN_HAS_UCONTEXT || BR2_TOOLCHAIN_USES_MUSL
+	depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_MUSL)
 	# absl/base/internal/direct_mmap.h only implements DirectMmap()
 	# with mmap2 for the o32 ABI on MIPS, and its 64-bit fallback
 	# fails to build with the n32 ABI, where long is 32-bit
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH 4/9] package/falcosecurity-libs: bump to version 0.21.0
  2026-10-30 15:24 [Buildroot] [PATCH 1/9] package/uthash: new package Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 2/9] package/webrtc-audio-processing: fix build with musl Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 3/9] package/libabseil-cpp: allow building " Angelo Compagnucci
@ 2026-10-30 15:24 ` Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 5/9] package/sysdig: bump to version 0.41.4 Angelo Compagnucci
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Angelo Compagnucci @ 2026-10-30 15:24 UTC (permalink / raw)
  To: buildroot; +Cc: Francis Laniel, Angelo Compagnucci

falcosecurity-libs is now a cmake package building and installing
libscap and libsinsp as shared libraries, with all the bundled
dependencies disabled. The pkg-config files are fixed up in staging, as
they contain absolute staging paths.

The dependencies changed accordingly:
- grpc, protobuf, c-ares, libcurl, openssl, jq, libb64, gtest,
  elfutils and lua are not needed anymore
- re2 and uthash are new dependencies
The glibc dependency is replaced by the one of tbb, which also supports
musl.
The new dependencies are propagated to sysdig.

Only the kernel module driver is built: to keep the build small, the
eBPF engine (needing elfutils) and the gVisor engine (needing protobuf,
x86_64 only) are disabled, and can be enabled in a following patch. The
modern eBPF probe would also need clang and bpftool.

The kernel module is now built from the sources and Makefile prepared by
the driver CMakeLists.txt, instead of generating driver_config.h by
hand, which hard-coded the driver API and schema versions to 1.0.0. The
kernel module needs CONFIG_IPV6.

falcosecurity-libs now only supports 64-bit architectures (x86_64,
aarch64, s390x, riscv64, ppc64le and loongarch64), as the syscall tables
only exist for them.

Patches:
- 0001 is dropped, as grpc is not used anymore
- pass ARCH and CROSS_COMPILE to the configure modules used to detect
  the kernel features, otherwise they are built for the build machine
  and the kernel module build fails
- backport the upstream fix for Linux 7.3

sysdig 0.29.3 can't be built with this version, it is bumped to 0.41.4,
which needs falcosecurity-libs 0.21.0, in the following commit.

Release notes:
https://github.com/falcosecurity/libs/releases/tag/0.21.0

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 .checkpackageignore                           |  1 -
 ...cmake-Permit-setting-GRPC_CPP_PLUGIN.patch | 34 -------
 ...-pass-ARCH-and-CROSS_COMPILE-to-the-.patch | 38 +++++++
 ...ver-replace-removed-task_euid-helper.patch | 33 +++++++
 package/falcosecurity-libs/Config.in          | 39 ++++----
 .../falcosecurity-libs.hash                   |  4 +-
 .../falcosecurity-libs/falcosecurity-libs.mk  | 98 +++++++++----------
 package/sysdig/Config.in                      | 21 ++--
 8 files changed, 150 insertions(+), 118 deletions(-)
 delete mode 100644 package/falcosecurity-libs/0001-cmake-Permit-setting-GRPC_CPP_PLUGIN.patch
 create mode 100644 package/falcosecurity-libs/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch
 create mode 100644 package/falcosecurity-libs/0002-fix-driver-replace-removed-task_euid-helper.patch

diff --git a/.checkpackageignore b/.checkpackageignore
index a8c1baacbd..662d454f29 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -310,7 +310,6 @@ package/exim/0003-Skip-version-check-and-symlink-installation.patch lib_patch.Up
 package/exim/S86exim lib_sysv.Indent lib_sysv.Variables
 package/fail2ban/S60fail2ban Shellcheck lib_sysv.Variables
 package/fakedate/fakedate Shellcheck
-package/falcosecurity-libs/0001-cmake-Permit-setting-GRPC_CPP_PLUGIN.patch lib_patch.Upstream
 package/fbgrab/0001-fix-static-build.patch lib_patch.Upstream
 package/fbset/0001-Fix-musl-compile.patch lib_patch.Upstream
 package/fbterm/0001-fbio.cpp-improxy.cpp-fbterm.cpp-fix-musl-compile.patch lib_patch.Upstream
diff --git a/package/falcosecurity-libs/0001-cmake-Permit-setting-GRPC_CPP_PLUGIN.patch b/package/falcosecurity-libs/0001-cmake-Permit-setting-GRPC_CPP_PLUGIN.patch
deleted file mode 100644
index 6141d8ef72..0000000000
--- a/package/falcosecurity-libs/0001-cmake-Permit-setting-GRPC_CPP_PLUGIN.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 2e8a50cd4975df3ab60ee07c9675831cd5ad397f Mon Sep 17 00:00:00 2001
-From: Francis Laniel <flaniel@linux.microsoft.com>
-Date: Tue, 12 Apr 2022 19:54:11 +0100
-Subject: [PATCH] cmake: Permit setting GRPC_CPP_PLUGIN.
-
-This patch enables users to set GRPC_CPP_PLUGIN while calling cmake with:
-cmake -DGRPC_CPP_PLUGIN=/path
-
-Signed-off-by: Francis Laniel <flaniel@linux.microsoft.com>
----
- cmake/modules/grpc.cmake | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/cmake/modules/grpc.cmake b/cmake/modules/grpc.cmake
-index e5fd16b8..9d8f5934 100644
---- a/cmake/modules/grpc.cmake
-+++ b/cmake/modules/grpc.cmake
-@@ -12,9 +12,11 @@ elseif(NOT USE_BUNDLED_GRPC)
- 		set(GRPCPP_LIB gRPC::grpc++)
- 
- 		# gRPC C++ plugin
--		get_target_property(GRPC_CPP_PLUGIN gRPC::grpc_cpp_plugin LOCATION)
- 		if(NOT GRPC_CPP_PLUGIN)
--			message(FATAL_ERROR "System grpc_cpp_plugin not found")
-+			get_target_property(GRPC_CPP_PLUGIN gRPC::grpc_cpp_plugin LOCATION)
-+			if(NOT GRPC_CPP_PLUGIN)
-+				message(FATAL_ERROR "System grpc_cpp_plugin not found")
-+			endif()
- 		endif()
- 
- 		# gRPC include dir + properly handle grpc{++,pp}
--- 
-2.25.1
-
diff --git a/package/falcosecurity-libs/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch b/package/falcosecurity-libs/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch
new file mode 100644
index 0000000000..13b68d5569
--- /dev/null
+++ b/package/falcosecurity-libs/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch
@@ -0,0 +1,38 @@
+From fef2154ea3ce5e95af90bf35f7f062762362a3a9 Mon Sep 17 00:00:00 2001
+From: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+Date: Fri, 30 Oct 2026 14:18:02 +0100
+Subject: [PATCH] driver: configure: pass ARCH and CROSS_COMPILE to the
+ configure modules
+
+The configure modules are built with an empty environment, so when
+cross-compiling the kernel module, ARCH and CROSS_COMPILE are lost and
+the configure modules are built for the build machine architecture,
+which fails, also making the 0__SANITY check fail.
+
+Pass ARCH and CROSS_COMPILE as well, only if they are set: an empty ARCH
+in the environment would prevent the kernel Makefile from setting it.
+
+Upstream: https://github.com/falcosecurity/libs/pull/3153
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+---
+ driver/configure/Makefile.inc.in | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/driver/configure/Makefile.inc.in b/driver/configure/Makefile.inc.in
+index af4b1f5..54c852f 100644
+--- a/driver/configure/Makefile.inc.in
++++ b/driver/configure/Makefile.inc.in
+@@ -3,7 +3,9 @@ MODULE_MAKEFILE_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))
+ # Run the module build.sh (wrapper for make) script with an empty environment,
+ # but pass PATH, KERNELDIR and eventually (if set) CC and KBUILD_MODPOST_WARN.
+ # The latter ones are used by driverkit build templates.
+-HAS_@CONFIGURE_MODULE@ := $(shell env -i CC="$(CC)" KBUILD_MODPOST_WARN="$(KBUILD_MODPOST_WARN)" PATH="$(PATH)" KERNELDIR="$(KERNELDIR)" sh $(MODULE_MAKEFILE_DIR)/build.sh ; echo $$?)
++# ARCH and CROSS_COMPILE, used when cross-compiling, are only passed if set, as
++# an empty ARCH would prevent the kernel Makefile from setting it.
++HAS_@CONFIGURE_MODULE@ := $(shell env -i CC="$(CC)" $(if $(ARCH),ARCH="$(ARCH)") $(if $(CROSS_COMPILE),CROSS_COMPILE="$(CROSS_COMPILE)") KBUILD_MODPOST_WARN="$(KBUILD_MODPOST_WARN)" PATH="$(PATH)" KERNELDIR="$(KERNELDIR)" sh $(MODULE_MAKEFILE_DIR)/build.sh ; echo $$?)
+ 
+ ifeq ($(HAS_@CONFIGURE_MODULE@),0)
+ $(info [configure-kmod] Setting HAS_@CONFIGURE_MODULE@ flag)
+-- 
+2.34.1
+
diff --git a/package/falcosecurity-libs/0002-fix-driver-replace-removed-task_euid-helper.patch b/package/falcosecurity-libs/0002-fix-driver-replace-removed-task_euid-helper.patch
new file mode 100644
index 0000000000..179dd6f047
--- /dev/null
+++ b/package/falcosecurity-libs/0002-fix-driver-replace-removed-task_euid-helper.patch
@@ -0,0 +1,33 @@
+From e85e268edef7fa6155ffb186f068f5c512fdf5b5 Mon Sep 17 00:00:00 2001
+From: Leonardo Grasso <me@leonardograsso.com>
+Date: Mon, 7 Sep 2026 09:20:30 +0200
+Subject: [PATCH] fix(driver): replace removed task_euid helper
+
+Linux 7.3 removes task_euid(), breaking the kernel module build on architectures that capture sched_process_fork.
+
+Use task_cred_xxx(child, euid), matching the removed macro expansion and preserving the existing credential lookup and RCU protection. The helper is also available on older supported kernels.
+
+Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
+Upstream: https://github.com/falcosecurity/libs/commit/fd77846d4920bfea2211ac229d3b2a814d4835da
+[Angelo: backport to 0.21.0]
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+---
+ driver/ppm_fillers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/driver/ppm_fillers.c b/driver/ppm_fillers.c
+index 7abc11d..f385a09 100644
+--- a/driver/ppm_fillers.c
++++ b/driver/ppm_fillers.c
+@@ -8001,7 +8001,7 @@ int f_sched_prog_fork(struct event_filler_arguments *args) {
+ 	long swap = 0;
+ 	int available = STR_STORAGE_SIZE;
+ 	uint32_t flags = 0;
+-	uint32_t euid = task_euid(child).val;
++	uint32_t euid = task_cred_xxx(child, euid).val;
+ 	uint32_t egid = child->cred->egid.val;
+ 	struct pid_namespace *pidns = task_active_pid_ns(child);
+ 	uint64_t pidns_init_start_time = 0;
+-- 
+2.34.1
+
diff --git a/package/falcosecurity-libs/Config.in b/package/falcosecurity-libs/Config.in
index 66ee55f101..c73b92d78f 100644
--- a/package/falcosecurity-libs/Config.in
+++ b/package/falcosecurity-libs/Config.in
@@ -1,27 +1,28 @@
+config BR2_PACKAGE_FALCOSECURITY_LIBS_ARCH_SUPPORTS
+	bool
+	default y if BR2_aarch64
+	default y if BR2_loongarch64
+	default y if BR2_powerpc64le
+	default y if BR2_riscv && BR2_ARCH_IS_64
+	default y if BR2_s390x
+	default y if BR2_x86_64
+	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # re2
+
 config BR2_PACKAGE_FALCOSECURITY_LIBS
 	bool
-	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc
-	depends on BR2_USE_WCHAR # grpc -> libabseil-cpp
-	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
+	depends on BR2_PACKAGE_FALCOSECURITY_LIBS_ARCH_SUPPORTS
+	depends on BR2_USE_WCHAR # re2 -> libabseil-cpp
 	depends on BR2_LINUX_KERNEL
-	depends on BR2_INSTALL_LIBSTDCPP # jsoncpp, protobuf, tbb
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # grpc -> libabseil-cpp
-	depends on BR2_TOOLCHAIN_HAS_THREADS # jq, protobuf, tbb
-	depends on !BR2_STATIC_LIBS # protobuf, tbb
-	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC # grpc
-	depends on BR2_TOOLCHAIN_USES_GLIBC # tbb
-	depends on BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1
-	select BR2_PACKAGE_C_ARES
-	select BR2_PACKAGE_ELFUTILS
-	select BR2_PACKAGE_GRPC
-	select BR2_PACKAGE_GTEST
-	select BR2_PACKAGE_JQ
+	depends on BR2_INSTALL_LIBSTDCPP # jsoncpp, re2, tbb, valijson
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # re2
+	depends on BR2_TOOLCHAIN_HAS_THREADS # re2, tbb
+	depends on !BR2_STATIC_LIBS # re2, tbb
+	depends on !BR2_TOOLCHAIN_USES_UCLIBC # tbb
+	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # tbb
 	select BR2_PACKAGE_JSONCPP
-	select BR2_PACKAGE_LIBB64
-	select BR2_PACKAGE_LIBCURL
-	select BR2_PACKAGE_OPENSSL
-	select BR2_PACKAGE_PROTOBUF
+	select BR2_PACKAGE_RE2
 	select BR2_PACKAGE_TBB
+	select BR2_PACKAGE_UTHASH
 	select BR2_PACKAGE_VALIJSON
 	select BR2_PACKAGE_ZLIB
 	help
diff --git a/package/falcosecurity-libs/falcosecurity-libs.hash b/package/falcosecurity-libs/falcosecurity-libs.hash
index 2e239ca2fe..89b2100c32 100644
--- a/package/falcosecurity-libs/falcosecurity-libs.hash
+++ b/package/falcosecurity-libs/falcosecurity-libs.hash
@@ -1,5 +1,5 @@
 # sha256 locally computed
-sha256  80903bc57b7f9c5f24298ecf1531cf66ef571681b4bd1e05f6e4db704ffb380b  falcosecurity-libs-e5c53d648f3c4694385bbe488e7d47eaa36c229a.tar.gz
+sha256  9e977001dd42586df42a5dc7e7a948c297124865a233402e44bdec68839d322a  falcosecurity-libs-0.21.0.tar.gz
 sha256  21ec9433a87459b3477faf542bacec419dc03af841309eac35edeffe481cf10b  COPYING
 sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  driver/GPL2.txt
-sha256  f17d3f2c2d565a74a7d5bf96f880c43701e141897e8dff0c8aa13e5d07aaf226  driver/MIT.txt
+sha256  e852b60bd201c42bf7bb5a53129bdb90de033bf254e740ea8ba1cf92d096caf5  driver/MIT.txt
diff --git a/package/falcosecurity-libs/falcosecurity-libs.mk b/package/falcosecurity-libs/falcosecurity-libs.mk
index 3783b8421b..28de5c0c9d 100644
--- a/package/falcosecurity-libs/falcosecurity-libs.mk
+++ b/package/falcosecurity-libs/falcosecurity-libs.mk
@@ -4,31 +4,62 @@
 #
 ################################################################################
 
-FALCOSECURITY_LIBS_VERSION = e5c53d648f3c4694385bbe488e7d47eaa36c229a
+FALCOSECURITY_LIBS_VERSION = 0.21.0
 FALCOSECURITY_LIBS_SITE = $(call github,falcosecurity,libs,$(FALCOSECURITY_LIBS_VERSION))
 FALCOSECURITY_LIBS_LICENSE = Apache-2.0 (userspace), MIT or GPL-2.0 (driver)
 FALCOSECURITY_LIBS_LICENSE_FILES = COPYING driver/MIT.txt driver/GPL2.txt
+FALCOSECURITY_LIBS_INSTALL_STAGING = YES
+FALCOSECURITY_LIBS_SUPPORTS_IN_SOURCE_BUILD = NO
 
 FALCOSECURITY_LIBS_DEPENDENCIES = \
-	c-ares \
-	elfutils \
-	grpc \
-	gtest \
-	host-grpc \
-	host-protobuf \
-	jq \
 	jsoncpp \
-	libb64 \
-	libcurl \
-	luainterpreter \
-	openssl \
-	protobuf \
+	re2 \
 	tbb \
+	uthash \
 	valijson \
 	zlib
 
 FALCOSECURITY_LIBS_DRIVER_NAME = scap
-FALCOSECURITY_LIBS_MODULE_SUBDIRS = driver
+
+# The version can't be computed from git, as we build from a tarball.
+FALCOSECURITY_LIBS_CONF_OPTS = \
+	-DUSE_BUNDLED_DEPS=OFF \
+	-DFALCOSECURITY_LIBS_VERSION=$(FALCOSECURITY_LIBS_VERSION) \
+	-DCREATE_TEST_TARGETS=OFF \
+	-DBUILD_LIBSCAP_EXAMPLES=OFF \
+	-DBUILD_LIBSINSP_EXAMPLES=OFF
+
+# Only the kernel module driver is built. To keep the build small, the
+# eBPF engine, which needs elfutils, and the gVisor engine, only
+# available on x86_64, which needs protobuf, are disabled: they can be
+# enabled in a following patch. The modern eBPF probe would also need
+# clang and bpftool to be built.
+FALCOSECURITY_LIBS_CONF_OPTS += \
+	-DENABLE_ENGINE_BPF=OFF \
+	-DBUILD_LIBSCAP_MODERN_BPF=OFF \
+	-DBUILD_LIBSCAP_GVISOR=OFF
+
+# The driver CMakeLists.txt only prepares the kernel module sources and
+# Makefile in the driver/src build directory, which are then built with
+# the kernel-module infrastructure.
+FALCOSECURITY_LIBS_CONF_OPTS += \
+	-DUSE_BUNDLED_DRIVER=ON \
+	-DBUILD_DRIVER=OFF \
+	-DENABLE_DKMS=OFF \
+	-DDRIVER_VERSION=$(FALCOSECURITY_LIBS_VERSION) \
+	-DDRIVER_NAME=$(FALCOSECURITY_LIBS_DRIVER_NAME)
+
+# The pkg-config files define the prefix relative to their location and
+# contain the absolute paths of the dependencies in staging, which
+# pkg-config would all prefix with the sysroot again.
+define FALCOSECURITY_LIBS_FIX_PKGCONFIG
+	$(SED) 's%^prefix=.*%prefix=/usr%;s%$(STAGING_DIR)%%g' \
+		$(STAGING_DIR)/usr/lib/pkgconfig/libscap.pc \
+		$(STAGING_DIR)/usr/lib/pkgconfig/libsinsp.pc
+endef
+FALCOSECURITY_LIBS_POST_INSTALL_STAGING_HOOKS += FALCOSECURITY_LIBS_FIX_PKGCONFIG
+
+FALCOSECURITY_LIBS_MODULE_SUBDIRS = buildroot-build/driver/src
 FALCOSECURITY_LIBS_MODULE_MAKE_OPTS = KERNELDIR=$(LINUX_DIR)
 
 # falcosecurity-libs module needs these two kernel options to be set:
@@ -37,46 +68,13 @@ FALCOSECURITY_LIBS_MODULE_MAKE_OPTS = KERNELDIR=$(LINUX_DIR)
 # https://github.com/draios/sysdig/wiki/How-to-Install-Sysdig-from-the-Source-Code#linux-and-osx
 # CONFIG_FTRACE and CONFIG_SCHED_TRACER selects CONFIG_GENERIC_TRACER which in
 # turns select CONFIG_TRACING which in turns select CONFIG_TRACEPOINTS
+# The module also unconditionally uses the IPv6 socket structures.
 define FALCOSECURITY_LIBS_LINUX_CONFIG_FIXUPS
 	$(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE)
 	$(call KCONFIG_ENABLE_OPT,CONFIG_SCHED_TRACER)
 	$(call KCONFIG_ENABLE_OPT,CONFIG_HAVE_SYSCALL_TRACEPOINTS)
+	$(call KCONFIG_ENABLE_OPT,CONFIG_IPV6)
 endef
 
-# falcosecurity-libs creates the module Makefile from a template, which contains
-# a single place-holder, KBUILD_FLAGS, which is only replaced with debug flags,
-# which we don't care about here.
-# So, just replace the place-holder with the only meaningful value: nothing.
-# For the DRIVER_NAME, we set it to FALCOSECURITY_LIBS_DRIVER_NAME.
-# So, when sysdig will be run, it will automatically load
-# FALCOSECURITY_LIBS_DRIVER_NAME.ko.
-# We also need to do the same process for driver_config.h.in.
-# PPM_API_CURRENT_VERSION_* were take from driver/API_VERSION and
-# PPM_SCHEMA_CURRENT_VERSION_* from driver/SCHEMA_VERSION.
-# For the others, it was taken by inspecting
-# falcosecurity-libs/*/CMakeLists.txt, which normally creates these
-# files, but doesn't work well with the kernel-module infrastructure.
-define FALCOSECURITY_LIBS_MODULE_GEN_MAKEFILE
-	$(INSTALL) -m 0644 $(@D)/driver/Makefile.in $(@D)/driver/Makefile
-	$(SED) 's/@KBUILD_FLAGS@//;' $(@D)/driver/Makefile
-	$(SED) 's/@DRIVER_NAME@/$(FALCOSECURITY_LIBS_DRIVER_NAME)/;' $(@D)/driver/Makefile
-
-	$(INSTALL) -m 0644 $(@D)/driver/driver_config.h.in $(@D)/driver/driver_config.h
-	$(SED) 's/\$${PPM_API_CURRENT_VERSION_MAJOR}/1/;' $(@D)/driver/driver_config.h
-	$(SED) 's/\$${PPM_API_CURRENT_VERSION_MINOR}/0/;' $(@D)/driver/driver_config.h
-	$(SED) 's/\$${PPM_API_CURRENT_VERSION_PATCH}/0/;' $(@D)/driver/driver_config.h
-	$(SED) 's/\$${PPM_SCHEMA_CURRENT_VERSION_MAJOR}/1/;' $(@D)/driver/driver_config.h
-	$(SED) 's/\$${PPM_SCHEMA_CURRENT_VERSION_MINOR}/0/;' $(@D)/driver/driver_config.h
-	$(SED) 's/\$${PPM_SCHEMA_CURRENT_VERSION_PATCH}/0/;' $(@D)/driver/driver_config.h
-	$(SED) 's/\$${DRIVER_VERSION}//;' $(@D)/driver/driver_config.h
-	$(SED) 's/\$${DRIVER_NAME}/$(FALCOSECURITY_LIBS_DRIVER_NAME)/;' $(@D)/driver/driver_config.h
-	$(SED) 's/\$${DRIVER_DEVICE_NAME}/$(FALCOSECURITY_LIBS_DRIVER_NAME)/;' $(@D)/driver/driver_config.h
-	$(SED) 's/\$${GIT_COMMIT}/0.1.1dev/;' $(@D)/driver/driver_config.h
-endef
-FALCOSECURITY_LIBS_POST_PATCH_HOOKS += FALCOSECURITY_LIBS_MODULE_GEN_MAKEFILE
-
-# Userspace components are not built and installed, because it this
-# package is intended to be included as source in another build.
-
 $(eval $(kernel-module))
-$(eval $(generic-package))
+$(eval $(cmake-package))
diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in
index 038a9734aa..3c96bda73e 100644
--- a/package/sysdig/Config.in
+++ b/package/sysdig/Config.in
@@ -1,16 +1,15 @@
 config BR2_PACKAGE_SYSDIG
 	bool "sysdig"
-	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # falcosecurity-libs
-	depends on BR2_USE_WCHAR # falcosecurity-libs -> libabseil-cpp
-	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # falcosecurity-libs
+	depends on BR2_PACKAGE_FALCOSECURITY_LIBS_ARCH_SUPPORTS
+	depends on BR2_USE_WCHAR # falcosecurity-libs, ncurses
 	depends on BR2_LINUX_KERNEL # falcosecurity-libs
-	depends on BR2_INSTALL_LIBSTDCPP
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # falcosecurity-libs -> grpc -> libabseil-cpp
+	depends on BR2_INSTALL_LIBSTDCPP # falcosecurity-libs
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # falcosecurity-libs
 	depends on BR2_TOOLCHAIN_HAS_THREADS # falcosecurity-libs
 	depends on !BR2_STATIC_LIBS # falcosecurity-libs
-	depends on BR2_TOOLCHAIN_USES_GLIBC # falcosecurity-libs
-	depends on BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 # falcosecurity-libs
-	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC # falcosecurity-libs
+	depends on !BR2_TOOLCHAIN_USES_UCLIBC # falcosecurity-libs
+	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # falcosecurity-libs
+	depends on BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 # chisels
 	select BR2_PACKAGE_FALCOSECURITY_LIBS
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_JSON_FOR_MODERN_CPP
@@ -25,12 +24,10 @@ config BR2_PACKAGE_SYSDIG
 	  https://github.com/draios/sysdig/wiki
 
 comment "sysdig needs a glibc or musl toolchain w/ C++, threads, wchar, gcc >= 10, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built"
-	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
-	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
-	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
+	depends on BR2_PACKAGE_FALCOSECURITY_LIBS_ARCH_SUPPORTS
 	depends on !BR2_LINUX_KERNEL || !BR2_INSTALL_LIBSTDCPP \
 		|| !BR2_TOOLCHAIN_HAS_THREADS \
 		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || !BR2_USE_WCHAR \
 		|| BR2_STATIC_LIBS \
-		|| !BR2_TOOLCHAIN_USES_GLIBC \
+		|| BR2_TOOLCHAIN_USES_UCLIBC \
 		|| !BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH 5/9] package/sysdig: bump to version 0.41.4
  2026-10-30 15:24 [Buildroot] [PATCH 1/9] package/uthash: new package Angelo Compagnucci
                   ` (2 preceding siblings ...)
  2026-10-30 15:24 ` [Buildroot] [PATCH 4/9] package/falcosecurity-libs: bump to version 0.21.0 Angelo Compagnucci
@ 2026-10-30 15:24 ` Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 6/9] package/falcosecurity-libs: convert to a virtual package Angelo Compagnucci
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Angelo Compagnucci @ 2026-10-30 15:24 UTC (permalink / raw)
  To: buildroot; +Cc: Francis Laniel, Angelo Compagnucci

sysdig 0.41.4 needs falcosecurity-libs 0.21.0 (whose driver is the same
as the 8.1.0+driver one sysdig requires), and links to libsinsp through
pkg-config, as supported upstream since sysdig 0.40.0, with all the
bundled dependencies disabled.

lua, which runs the chisels, is now a direct dependency.

Patches:
- allow to disable the container plugin, which is either downloaded as
  a prebuilt binary or built with Go; it can be provided by a separate
  package in a following patch
- only include the zlib CMake module with the bundled falcosecurity
  libs, as it comes from them

Release notes:
https://github.com/draios/sysdig/releases/tag/0.41.4

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 ...llow-to-disable-the-container-plugin.patch | 37 ++++++++++++++++
 ...-only-include-zlib-with-the-bundled-.patch | 43 +++++++++++++++++++
 package/sysdig/Config.in                      |  2 +-
 package/sysdig/sysdig.hash                    |  2 +-
 package/sysdig/sysdig.mk                      | 32 +++++++-------
 5 files changed, 97 insertions(+), 19 deletions(-)
 create mode 100644 package/sysdig/0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch
 create mode 100644 package/sysdig/0002-userspace-sysdig-only-include-zlib-with-the-bundled-.patch

diff --git a/package/sysdig/0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch b/package/sysdig/0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch
new file mode 100644
index 0000000000..e13ed4bb65
--- /dev/null
+++ b/package/sysdig/0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch
@@ -0,0 +1,37 @@
+From 64f286b765da1335369c3d27fad298f0b3f525c5 Mon Sep 17 00:00:00 2001
+From: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+Date: Fri, 30 Oct 2026 10:15:11 +0100
+Subject: [PATCH] CMakeLists.txt: allow to disable the container plugin
+
+The container plugin is either downloaded as a prebuilt binary, for the
+build host architecture, or built from sources using Go, and both can't
+be done when cross-compiling or without network access.
+
+As the container plugin is only loaded when available, add an option to
+not download nor build it.
+
+Upstream: https://github.com/draios/sysdig/pull/2191
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+---
+ CMakeLists.txt | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 68344a3..9ef0f9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -163,7 +163,10 @@ endif()
+ include(falcosecurity-libs)
+ include(yaml-cpp)
+ include(nlohmann-json)
+-include(container_plugin)
++option(BUILD_SYSDIG_CONTAINER_PLUGIN "Download or build the container plugin" ON)
++if(BUILD_SYSDIG_CONTAINER_PLUGIN)
++	include(container_plugin)
++endif()
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ 	if(NOT DEFINED DRIVER_VERSION)
+-- 
+2.34.1
+
diff --git a/package/sysdig/0002-userspace-sysdig-only-include-zlib-with-the-bundled-.patch b/package/sysdig/0002-userspace-sysdig-only-include-zlib-with-the-bundled-.patch
new file mode 100644
index 0000000000..e4f580dbd5
--- /dev/null
+++ b/package/sysdig/0002-userspace-sysdig-only-include-zlib-with-the-bundled-.patch
@@ -0,0 +1,43 @@
+From f61de224af8121847cd3aa9b1745b87fce52e351 Mon Sep 17 00:00:00 2001
+From: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+Date: Fri, 30 Oct 2026 11:05:48 +0100
+Subject: [PATCH] userspace/sysdig: only include zlib with the bundled
+ falcosecurity libs
+
+When building with shared falcosecurity libs, the falcosecurity libs
+CMake modules are not added to CMAKE_MODULE_PATH, so including the zlib
+module fails:
+
+  include could not find requested file:
+
+    zlib
+
+sysdig doesn't use zlib directly, the module is only needed to build the
+bundled falcosecurity libs, so only include it in that case.
+
+Upstream: https://github.com/draios/sysdig/pull/2190
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+---
+ userspace/sysdig/CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/userspace/sysdig/CMakeLists.txt b/userspace/sysdig/CMakeLists.txt
+index 4acbb030..416b8f83 100644
+--- a/userspace/sysdig/CMakeLists.txt
++++ b/userspace/sysdig/CMakeLists.txt
+@@ -20,7 +20,11 @@ if(NOT WIN32)
+ 	include(ncurses)
+ endif() # NOT WIN32
+ 
+-include(zlib)
++# zlib is only needed to build the bundled falcosecurity libs, and its
++# CMake module comes from them.
++if(USE_BUNDLED_FALCOSECURITY_LIBS)
++	include(zlib)
++endif()
+ include(luajit)
+ 
+ include_directories("${PROJECT_BINARY_DIR}/userspace/sinspui")
+-- 
+2.34.1
+
diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in
index 3c96bda73e..5dff37251a 100644
--- a/package/sysdig/Config.in
+++ b/package/sysdig/Config.in
@@ -21,7 +21,7 @@ config BR2_PACKAGE_SYSDIG
 	  Think of it as strace + tcpdump + lsof + awesome sauce.
 	  With a little Lua cherry on top.
 
-	  https://github.com/draios/sysdig/wiki
+	  https://github.com/draios/sysdig
 
 comment "sysdig needs a glibc or musl toolchain w/ C++, threads, wchar, gcc >= 10, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built"
 	depends on BR2_PACKAGE_FALCOSECURITY_LIBS_ARCH_SUPPORTS
diff --git a/package/sysdig/sysdig.hash b/package/sysdig/sysdig.hash
index cda3de5e7c..4a55afe1da 100644
--- a/package/sysdig/sysdig.hash
+++ b/package/sysdig/sysdig.hash
@@ -1,3 +1,3 @@
 # sha256 locally computed
-sha256  6b96797859002ab69a2bed4fdba1c7fe8064ecf8661621ae7d8fbf8599ffa636  sysdig-0.29.3.tar.gz
+sha256  36daa6a06705569fcc9b0579992e2457494003aea0065eabf54b3e16d67511f7  sysdig-0.41.4.tar.gz
 sha256  a88fbf820b38b1c7fabc6efe291b8259e02ae21326f56fe31c6c9adf374b2702  COPYING
diff --git a/package/sysdig/sysdig.mk b/package/sysdig/sysdig.mk
index bafe534a16..d04f67a97b 100644
--- a/package/sysdig/sysdig.mk
+++ b/package/sysdig/sysdig.mk
@@ -4,35 +4,33 @@
 #
 ################################################################################
 
-SYSDIG_VERSION = 0.29.3
+SYSDIG_VERSION = 0.41.4
 SYSDIG_SITE = $(call github,draios,sysdig,$(SYSDIG_VERSION))
 SYSDIG_LICENSE = Apache-2.0
 SYSDIG_LICENSE_FILES = COPYING
 SYSDIG_CPE_ID_VENDOR = sysdig
-SYSDIG_CONF_OPTS = \
-	-DENABLE_DKMS=OFF \
-	-DUSE_BUNDLED_DEPS=OFF \
-	-DCREATE_TEST_TARGETS=OFF
 SYSDIG_SUPPORTS_IN_SOURCE_BUILD = NO
 
 SYSDIG_DEPENDENCIES = \
 	falcosecurity-libs \
-	ncurses \
+	host-pkgconf \
 	json-for-modern-cpp \
+	luainterpreter \
+	ncurses \
 	yaml-cpp
 
-# Don't build the driver as part of the 'standard' procedure, it has been built
-# by falcosecurity-libs.mk.
-# grpc_cpp_plugin is needed to build falcosecurity libs, so we give the host
-# one there.
-SYSDIG_CONF_OPTS += -DFALCOSECURITY_LIBS_SOURCE_DIR=$(FALCOSECURITY_LIBS_SRCDIR) \
-	-DBUILD_DRIVER=OFF \
-	-DGRPC_CPP_PLUGIN=$(HOST_DIR)/bin/grpc_cpp_plugin \
-	-DDRIVER_NAME=$(FALCOSECURITY_LIBS_DRIVER_NAME) \
-	-DENABLE_DKMS=OFF \
+# The driver is built by falcosecurity-libs, which only supports the
+# kernel module.
+SYSDIG_CONF_OPTS = \
 	-DUSE_BUNDLED_DEPS=OFF \
-	-DWITH_CHISEL=ON \
-	-DVALIJSON_INCLUDE=$(BUILD_DIR)/valijson-0.6/include/valijson \
+	-DCREATE_TEST_TARGETS=OFF \
+	-DBUILD_SYSDIG_MODERN_BPF=OFF \
 	-DSYSDIG_VERSION=$(SYSDIG_VERSION)
 
+# 0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch
+# The container plugin is either downloaded as a prebuilt binary or
+# built with Go, so it is disabled. It can be provided by a separate
+# package in a following patch.
+SYSDIG_CONF_OPTS += -DBUILD_SYSDIG_CONTAINER_PLUGIN=OFF
+
 $(eval $(cmake-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH 6/9] package/falcosecurity-libs: convert to a virtual package
  2026-10-30 15:24 [Buildroot] [PATCH 1/9] package/uthash: new package Angelo Compagnucci
                   ` (3 preceding siblings ...)
  2026-10-30 15:24 ` [Buildroot] [PATCH 5/9] package/sysdig: bump to version 0.41.4 Angelo Compagnucci
@ 2026-10-30 15:24 ` Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 7/9] package/sysdig: " Angelo Compagnucci
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Angelo Compagnucci @ 2026-10-30 15:24 UTC (permalink / raw)
  To: buildroot; +Cc: Francis Laniel, Angelo Compagnucci

Since version 0.11.0, the falcosecurity-libs userspace libraries only
support 64-bit architectures, as they get the system call numbers from
tables which only exist for them.

In order to provide a different version for 32-bit architectures,
convert falcosecurity-libs into a virtual package. For now, it is only
provided by falcosecurity-libs-latest, which is the former
falcosecurity-libs package, unchanged.

The license, the driver name, the kernel module make options and the
Linux kernel configuration fixups, which will be shared by the
providers, stay in the virtual package.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 package/falcosecurity-libs/Config.in          | 16 +++--
 ...-pass-ARCH-and-CROSS_COMPILE-to-the-.patch |  0
 ...ver-replace-removed-task_euid-helper.patch |  0
 .../falcosecurity-libs-latest/Config.in       |  9 +++
 .../falcosecurity-libs-latest.hash}           |  0
 .../falcosecurity-libs-latest.mk              | 67 +++++++++++++++++++
 .../falcosecurity-libs/falcosecurity-libs.mk  | 59 ++--------------
 7 files changed, 91 insertions(+), 60 deletions(-)
 rename package/falcosecurity-libs/{ => falcosecurity-libs-latest}/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch (100%)
 rename package/falcosecurity-libs/{ => falcosecurity-libs-latest}/0002-fix-driver-replace-removed-task_euid-helper.patch (100%)
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-latest/Config.in
 rename package/falcosecurity-libs/{falcosecurity-libs.hash => falcosecurity-libs-latest/falcosecurity-libs-latest.hash} (100%)
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.mk

diff --git a/package/falcosecurity-libs/Config.in b/package/falcosecurity-libs/Config.in
index c73b92d78f..495dd2b8ca 100644
--- a/package/falcosecurity-libs/Config.in
+++ b/package/falcosecurity-libs/Config.in
@@ -19,14 +19,18 @@ config BR2_PACKAGE_FALCOSECURITY_LIBS
 	depends on !BR2_STATIC_LIBS # re2, tbb
 	depends on !BR2_TOOLCHAIN_USES_UCLIBC # tbb
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # tbb
-	select BR2_PACKAGE_JSONCPP
-	select BR2_PACKAGE_RE2
-	select BR2_PACKAGE_TBB
-	select BR2_PACKAGE_UTHASH
-	select BR2_PACKAGE_VALIJSON
-	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_FALCOSECURITY_LIBS_LATEST
 	help
 	  falcosecurity/libs provides libsinsp, libscap, the kernel
 	  module driver and the eBPF driver sources.
 
 	  https://github.com/falcosecurity/libs
+
+config BR2_PACKAGE_HAS_FALCOSECURITY_LIBS
+	bool
+
+config BR2_PACKAGE_PROVIDES_FALCOSECURITY_LIBS
+	string
+	default "falcosecurity-libs-latest"
+
+source "package/falcosecurity-libs/falcosecurity-libs-latest/Config.in"
diff --git a/package/falcosecurity-libs/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch b/package/falcosecurity-libs/falcosecurity-libs-latest/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch
similarity index 100%
rename from package/falcosecurity-libs/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch
rename to package/falcosecurity-libs/falcosecurity-libs-latest/0001-driver-configure-pass-ARCH-and-CROSS_COMPILE-to-the-.patch
diff --git a/package/falcosecurity-libs/0002-fix-driver-replace-removed-task_euid-helper.patch b/package/falcosecurity-libs/falcosecurity-libs-latest/0002-fix-driver-replace-removed-task_euid-helper.patch
similarity index 100%
rename from package/falcosecurity-libs/0002-fix-driver-replace-removed-task_euid-helper.patch
rename to package/falcosecurity-libs/falcosecurity-libs-latest/0002-fix-driver-replace-removed-task_euid-helper.patch
diff --git a/package/falcosecurity-libs/falcosecurity-libs-latest/Config.in b/package/falcosecurity-libs/falcosecurity-libs-latest/Config.in
new file mode 100644
index 0000000000..2115e9a928
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-latest/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_FALCOSECURITY_LIBS_LATEST
+	bool
+	select BR2_PACKAGE_HAS_FALCOSECURITY_LIBS
+	select BR2_PACKAGE_JSONCPP
+	select BR2_PACKAGE_RE2
+	select BR2_PACKAGE_TBB
+	select BR2_PACKAGE_UTHASH
+	select BR2_PACKAGE_VALIJSON
+	select BR2_PACKAGE_ZLIB
diff --git a/package/falcosecurity-libs/falcosecurity-libs.hash b/package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.hash
similarity index 100%
rename from package/falcosecurity-libs/falcosecurity-libs.hash
rename to package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.hash
diff --git a/package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.mk b/package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.mk
new file mode 100644
index 0000000000..6e078e080a
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-latest/falcosecurity-libs-latest.mk
@@ -0,0 +1,67 @@
+################################################################################
+#
+# falcosecurity-libs-latest
+#
+################################################################################
+
+FALCOSECURITY_LIBS_LATEST_VERSION = 0.21.0
+FALCOSECURITY_LIBS_LATEST_SITE = $(call github,falcosecurity,libs,$(FALCOSECURITY_LIBS_LATEST_VERSION))
+FALCOSECURITY_LIBS_LATEST_SOURCE = falcosecurity-libs-$(FALCOSECURITY_LIBS_LATEST_VERSION).tar.gz
+FALCOSECURITY_LIBS_LATEST_DL_SUBDIR = falcosecurity-libs
+FALCOSECURITY_LIBS_LATEST_LICENSE = $(FALCOSECURITY_LIBS_LICENSE)
+FALCOSECURITY_LIBS_LATEST_LICENSE_FILES = $(FALCOSECURITY_LIBS_LICENSE_FILES)
+FALCOSECURITY_LIBS_LATEST_PROVIDES = falcosecurity-libs
+FALCOSECURITY_LIBS_LATEST_INSTALL_STAGING = YES
+FALCOSECURITY_LIBS_LATEST_SUPPORTS_IN_SOURCE_BUILD = NO
+
+FALCOSECURITY_LIBS_LATEST_DEPENDENCIES = \
+	jsoncpp \
+	re2 \
+	tbb \
+	uthash \
+	valijson \
+	zlib
+
+# The version can't be computed from git, as we build from a tarball.
+FALCOSECURITY_LIBS_LATEST_CONF_OPTS = \
+	-DUSE_BUNDLED_DEPS=OFF \
+	-DFALCOSECURITY_LIBS_VERSION=$(FALCOSECURITY_LIBS_LATEST_VERSION) \
+	-DCREATE_TEST_TARGETS=OFF \
+	-DBUILD_LIBSCAP_EXAMPLES=OFF \
+	-DBUILD_LIBSINSP_EXAMPLES=OFF
+
+# Only the kernel module driver is built. To keep the build small, the
+# eBPF engine, which needs elfutils, and the gVisor engine, only
+# available on x86_64, which needs protobuf, are disabled: they can be
+# enabled in a following patch. The modern eBPF probe would also need
+# clang and bpftool to be built.
+FALCOSECURITY_LIBS_LATEST_CONF_OPTS += \
+	-DENABLE_ENGINE_BPF=OFF \
+	-DBUILD_LIBSCAP_MODERN_BPF=OFF \
+	-DBUILD_LIBSCAP_GVISOR=OFF
+
+# The driver CMakeLists.txt only prepares the kernel module sources and
+# Makefile in the driver/src build directory, which are then built with
+# the kernel-module infrastructure.
+FALCOSECURITY_LIBS_LATEST_CONF_OPTS += \
+	-DUSE_BUNDLED_DRIVER=ON \
+	-DBUILD_DRIVER=OFF \
+	-DENABLE_DKMS=OFF \
+	-DDRIVER_VERSION=$(FALCOSECURITY_LIBS_LATEST_VERSION) \
+	-DDRIVER_NAME=$(FALCOSECURITY_LIBS_DRIVER_NAME)
+
+# The pkg-config files define the prefix relative to their location and
+# contain the absolute paths of the dependencies in staging, which
+# pkg-config would all prefix with the sysroot again.
+define FALCOSECURITY_LIBS_LATEST_FIX_PKGCONFIG
+	$(SED) 's%^prefix=.*%prefix=/usr%;s%$(STAGING_DIR)%%g' \
+		$(STAGING_DIR)/usr/lib/pkgconfig/libscap.pc \
+		$(STAGING_DIR)/usr/lib/pkgconfig/libsinsp.pc
+endef
+FALCOSECURITY_LIBS_LATEST_POST_INSTALL_STAGING_HOOKS += FALCOSECURITY_LIBS_LATEST_FIX_PKGCONFIG
+
+FALCOSECURITY_LIBS_LATEST_MODULE_SUBDIRS = buildroot-build/driver/src
+FALCOSECURITY_LIBS_LATEST_MODULE_MAKE_OPTS = $(FALCOSECURITY_LIBS_MODULE_MAKE_OPTS)
+
+$(eval $(kernel-module))
+$(eval $(cmake-package))
diff --git a/package/falcosecurity-libs/falcosecurity-libs.mk b/package/falcosecurity-libs/falcosecurity-libs.mk
index 28de5c0c9d..0437648383 100644
--- a/package/falcosecurity-libs/falcosecurity-libs.mk
+++ b/package/falcosecurity-libs/falcosecurity-libs.mk
@@ -4,62 +4,12 @@
 #
 ################################################################################
 
-FALCOSECURITY_LIBS_VERSION = 0.21.0
-FALCOSECURITY_LIBS_SITE = $(call github,falcosecurity,libs,$(FALCOSECURITY_LIBS_VERSION))
+# falcosecurity-libs is provided by falcosecurity-libs-latest.
+
 FALCOSECURITY_LIBS_LICENSE = Apache-2.0 (userspace), MIT or GPL-2.0 (driver)
 FALCOSECURITY_LIBS_LICENSE_FILES = COPYING driver/MIT.txt driver/GPL2.txt
-FALCOSECURITY_LIBS_INSTALL_STAGING = YES
-FALCOSECURITY_LIBS_SUPPORTS_IN_SOURCE_BUILD = NO
-
-FALCOSECURITY_LIBS_DEPENDENCIES = \
-	jsoncpp \
-	re2 \
-	tbb \
-	uthash \
-	valijson \
-	zlib
 
 FALCOSECURITY_LIBS_DRIVER_NAME = scap
-
-# The version can't be computed from git, as we build from a tarball.
-FALCOSECURITY_LIBS_CONF_OPTS = \
-	-DUSE_BUNDLED_DEPS=OFF \
-	-DFALCOSECURITY_LIBS_VERSION=$(FALCOSECURITY_LIBS_VERSION) \
-	-DCREATE_TEST_TARGETS=OFF \
-	-DBUILD_LIBSCAP_EXAMPLES=OFF \
-	-DBUILD_LIBSINSP_EXAMPLES=OFF
-
-# Only the kernel module driver is built. To keep the build small, the
-# eBPF engine, which needs elfutils, and the gVisor engine, only
-# available on x86_64, which needs protobuf, are disabled: they can be
-# enabled in a following patch. The modern eBPF probe would also need
-# clang and bpftool to be built.
-FALCOSECURITY_LIBS_CONF_OPTS += \
-	-DENABLE_ENGINE_BPF=OFF \
-	-DBUILD_LIBSCAP_MODERN_BPF=OFF \
-	-DBUILD_LIBSCAP_GVISOR=OFF
-
-# The driver CMakeLists.txt only prepares the kernel module sources and
-# Makefile in the driver/src build directory, which are then built with
-# the kernel-module infrastructure.
-FALCOSECURITY_LIBS_CONF_OPTS += \
-	-DUSE_BUNDLED_DRIVER=ON \
-	-DBUILD_DRIVER=OFF \
-	-DENABLE_DKMS=OFF \
-	-DDRIVER_VERSION=$(FALCOSECURITY_LIBS_VERSION) \
-	-DDRIVER_NAME=$(FALCOSECURITY_LIBS_DRIVER_NAME)
-
-# The pkg-config files define the prefix relative to their location and
-# contain the absolute paths of the dependencies in staging, which
-# pkg-config would all prefix with the sysroot again.
-define FALCOSECURITY_LIBS_FIX_PKGCONFIG
-	$(SED) 's%^prefix=.*%prefix=/usr%;s%$(STAGING_DIR)%%g' \
-		$(STAGING_DIR)/usr/lib/pkgconfig/libscap.pc \
-		$(STAGING_DIR)/usr/lib/pkgconfig/libsinsp.pc
-endef
-FALCOSECURITY_LIBS_POST_INSTALL_STAGING_HOOKS += FALCOSECURITY_LIBS_FIX_PKGCONFIG
-
-FALCOSECURITY_LIBS_MODULE_SUBDIRS = buildroot-build/driver/src
 FALCOSECURITY_LIBS_MODULE_MAKE_OPTS = KERNELDIR=$(LINUX_DIR)
 
 # falcosecurity-libs module needs these two kernel options to be set:
@@ -76,5 +26,6 @@ define FALCOSECURITY_LIBS_LINUX_CONFIG_FIXUPS
 	$(call KCONFIG_ENABLE_OPT,CONFIG_IPV6)
 endef
 
-$(eval $(kernel-module))
-$(eval $(cmake-package))
+$(eval $(virtual-package))
+
+include $(sort $(wildcard package/falcosecurity-libs/*/*.mk))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH 7/9] package/sysdig: convert to a virtual package
  2026-10-30 15:24 [Buildroot] [PATCH 1/9] package/uthash: new package Angelo Compagnucci
                   ` (4 preceding siblings ...)
  2026-10-30 15:24 ` [Buildroot] [PATCH 6/9] package/falcosecurity-libs: convert to a virtual package Angelo Compagnucci
@ 2026-10-30 15:24 ` Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 8/9] package/falcosecurity-libs: add falcosecurity-libs-legacy Angelo Compagnucci
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Angelo Compagnucci @ 2026-10-30 15:24 UTC (permalink / raw)
  To: buildroot; +Cc: Francis Laniel, Angelo Compagnucci

sysdig 0.41.4 needs falcosecurity-libs 0.21.0, which only supports
64-bit architectures. In order to provide a different version for
32-bit architectures, convert sysdig into a virtual package, as done for
falcosecurity-libs. For now, it is only provided by sysdig-latest, which
is the former sysdig package, unchanged.

The license and the CPE vendor, which will be shared by the providers,
stay in the virtual package.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 package/sysdig/Config.in                      | 10 +++++
 ...llow-to-disable-the-container-plugin.patch |  0
 ...-only-include-zlib-with-the-bundled-.patch |  0
 package/sysdig/sysdig-latest/Config.in        |  3 ++
 .../sysdig-latest.hash}                       |  0
 package/sysdig/sysdig-latest/sysdig-latest.mk | 40 +++++++++++++++++++
 package/sysdig/sysdig.mk                      | 29 ++------------
 7 files changed, 57 insertions(+), 25 deletions(-)
 rename package/sysdig/{ => sysdig-latest}/0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch (100%)
 rename package/sysdig/{ => sysdig-latest}/0002-userspace-sysdig-only-include-zlib-with-the-bundled-.patch (100%)
 create mode 100644 package/sysdig/sysdig-latest/Config.in
 rename package/sysdig/{sysdig.hash => sysdig-latest/sysdig-latest.hash} (100%)
 create mode 100644 package/sysdig/sysdig-latest/sysdig-latest.mk

diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in
index 5dff37251a..35f28bf6cd 100644
--- a/package/sysdig/Config.in
+++ b/package/sysdig/Config.in
@@ -11,6 +11,7 @@ config BR2_PACKAGE_SYSDIG
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # falcosecurity-libs
 	depends on BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 # chisels
 	select BR2_PACKAGE_FALCOSECURITY_LIBS
+	select BR2_PACKAGE_SYSDIG_LATEST
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_JSON_FOR_MODERN_CPP
 	select BR2_PACKAGE_YAML_CPP
@@ -31,3 +32,12 @@ comment "sysdig needs a glibc or musl toolchain w/ C++, threads, wchar, gcc >= 1
 		|| BR2_STATIC_LIBS \
 		|| BR2_TOOLCHAIN_USES_UCLIBC \
 		|| !BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1
+
+config BR2_PACKAGE_HAS_SYSDIG
+	bool
+
+config BR2_PACKAGE_PROVIDES_SYSDIG
+	string
+	default "sysdig-latest"
+
+source "package/sysdig/sysdig-latest/Config.in"
diff --git a/package/sysdig/0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch b/package/sysdig/sysdig-latest/0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch
similarity index 100%
rename from package/sysdig/0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch
rename to package/sysdig/sysdig-latest/0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch
diff --git a/package/sysdig/0002-userspace-sysdig-only-include-zlib-with-the-bundled-.patch b/package/sysdig/sysdig-latest/0002-userspace-sysdig-only-include-zlib-with-the-bundled-.patch
similarity index 100%
rename from package/sysdig/0002-userspace-sysdig-only-include-zlib-with-the-bundled-.patch
rename to package/sysdig/sysdig-latest/0002-userspace-sysdig-only-include-zlib-with-the-bundled-.patch
diff --git a/package/sysdig/sysdig-latest/Config.in b/package/sysdig/sysdig-latest/Config.in
new file mode 100644
index 0000000000..2af84e1917
--- /dev/null
+++ b/package/sysdig/sysdig-latest/Config.in
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_SYSDIG_LATEST
+	bool
+	select BR2_PACKAGE_HAS_SYSDIG
diff --git a/package/sysdig/sysdig.hash b/package/sysdig/sysdig-latest/sysdig-latest.hash
similarity index 100%
rename from package/sysdig/sysdig.hash
rename to package/sysdig/sysdig-latest/sysdig-latest.hash
diff --git a/package/sysdig/sysdig-latest/sysdig-latest.mk b/package/sysdig/sysdig-latest/sysdig-latest.mk
new file mode 100644
index 0000000000..6e0499636c
--- /dev/null
+++ b/package/sysdig/sysdig-latest/sysdig-latest.mk
@@ -0,0 +1,40 @@
+################################################################################
+#
+# sysdig-latest
+#
+################################################################################
+
+SYSDIG_LATEST_VERSION = 0.41.4
+SYSDIG_LATEST_SITE = $(call github,draios,sysdig,$(SYSDIG_LATEST_VERSION))
+SYSDIG_LATEST_SOURCE = sysdig-$(SYSDIG_LATEST_VERSION).tar.gz
+SYSDIG_LATEST_DL_SUBDIR = sysdig
+SYSDIG_LATEST_LICENSE = $(SYSDIG_LICENSE)
+SYSDIG_LATEST_LICENSE_FILES = $(SYSDIG_LICENSE_FILES)
+SYSDIG_LATEST_CPE_ID_VENDOR = $(SYSDIG_CPE_ID_VENDOR)
+SYSDIG_LATEST_CPE_ID_PRODUCT = sysdig
+SYSDIG_LATEST_PROVIDES = sysdig
+SYSDIG_LATEST_SUPPORTS_IN_SOURCE_BUILD = NO
+
+SYSDIG_LATEST_DEPENDENCIES = \
+	falcosecurity-libs \
+	host-pkgconf \
+	json-for-modern-cpp \
+	luainterpreter \
+	ncurses \
+	yaml-cpp
+
+# The driver is built by falcosecurity-libs, which only supports the
+# kernel module.
+SYSDIG_LATEST_CONF_OPTS = \
+	-DUSE_BUNDLED_DEPS=OFF \
+	-DCREATE_TEST_TARGETS=OFF \
+	-DBUILD_SYSDIG_MODERN_BPF=OFF \
+	-DSYSDIG_VERSION=$(SYSDIG_LATEST_VERSION)
+
+# 0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch
+# The container plugin is either downloaded as a prebuilt binary or
+# built with Go, so it is disabled. It can be provided by a separate
+# package in a following patch.
+SYSDIG_LATEST_CONF_OPTS += -DBUILD_SYSDIG_CONTAINER_PLUGIN=OFF
+
+$(eval $(cmake-package))
diff --git a/package/sysdig/sysdig.mk b/package/sysdig/sysdig.mk
index d04f67a97b..3ee54a556b 100644
--- a/package/sysdig/sysdig.mk
+++ b/package/sysdig/sysdig.mk
@@ -4,33 +4,12 @@
 #
 ################################################################################
 
-SYSDIG_VERSION = 0.41.4
-SYSDIG_SITE = $(call github,draios,sysdig,$(SYSDIG_VERSION))
+# sysdig is provided by sysdig-latest.
+
 SYSDIG_LICENSE = Apache-2.0
 SYSDIG_LICENSE_FILES = COPYING
 SYSDIG_CPE_ID_VENDOR = sysdig
-SYSDIG_SUPPORTS_IN_SOURCE_BUILD = NO
-
-SYSDIG_DEPENDENCIES = \
-	falcosecurity-libs \
-	host-pkgconf \
-	json-for-modern-cpp \
-	luainterpreter \
-	ncurses \
-	yaml-cpp
-
-# The driver is built by falcosecurity-libs, which only supports the
-# kernel module.
-SYSDIG_CONF_OPTS = \
-	-DUSE_BUNDLED_DEPS=OFF \
-	-DCREATE_TEST_TARGETS=OFF \
-	-DBUILD_SYSDIG_MODERN_BPF=OFF \
-	-DSYSDIG_VERSION=$(SYSDIG_VERSION)
 
-# 0001-CMakeLists.txt-allow-to-disable-the-container-plugin.patch
-# The container plugin is either downloaded as a prebuilt binary or
-# built with Go, so it is disabled. It can be provided by a separate
-# package in a following patch.
-SYSDIG_CONF_OPTS += -DBUILD_SYSDIG_CONTAINER_PLUGIN=OFF
+$(eval $(virtual-package))
 
-$(eval $(cmake-package))
+include $(sort $(wildcard package/sysdig/*/*.mk))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH 8/9] package/falcosecurity-libs: add falcosecurity-libs-legacy
  2026-10-30 15:24 [Buildroot] [PATCH 1/9] package/uthash: new package Angelo Compagnucci
                   ` (5 preceding siblings ...)
  2026-10-30 15:24 ` [Buildroot] [PATCH 7/9] package/sysdig: " Angelo Compagnucci
@ 2026-10-30 15:24 ` Angelo Compagnucci
  2026-10-30 15:24 ` [Buildroot] [PATCH 9/9] package/sysdig: add sysdig-legacy Angelo Compagnucci
  2026-10-30 15:58 ` [Buildroot] [PATCH 1/9] package/uthash: new package Fiona Klute via buildroot
  8 siblings, 0 replies; 11+ messages in thread
From: Angelo Compagnucci @ 2026-10-30 15:24 UTC (permalink / raw)
  To: buildroot; +Cc: Francis Laniel, Angelo Compagnucci

Add falcosecurity-libs-legacy, providing falcosecurity-libs 0.10.5 on
32-bit architectures. It is the last version whose userspace libraries
support them, as they get the system call numbers from the C library
headers, instead of tables which only exist for 64-bit architectures.

Like the former falcosecurity-libs package, falcosecurity-libs-legacy
only provides the sources of the userspace libraries, which are built by
sysdig, with the dependencies listed here, and builds the kernel module,
generating its Makefile and driver_config.h, as the driver
CMakeLists.txt doesn't work well with the kernel-module infrastructure.
The driver API and schema versions are read from driver/API_VERSION and
driver/SCHEMA_VERSION.

The dependencies are the ones of the minimal build, which will be used
by sysdig, so grpc, protobuf, c-ares, libcurl, openssl and elfutils are
not needed.

Patches:
- backport the upstream fixes adding the missing <cstdint> includes, for
  gcc >= 13 and musl
- add the missing <cstdint> include to scap_open_exception.h, for musl

falcosecurity-libs-legacy can't be selected yet: the 32-bit
architectures are enabled when adding sysdig-legacy, in the following
commit.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 package/falcosecurity-libs/Config.in          |  9 ++--
 .../falcosecurity-libs-latest/Config.in       |  2 +
 .../0001-Add-cstdint-for-uintXX_t-types.patch | 46 +++++++++++++++++
 ...bsinsp-explicitly-include-cstdint-to.patch | 31 ++++++++++++
 ...tdint-include-to-fix-build-on-Alpine.patch | 27 ++++++++++
 ...sp-scap_open_exception.h-include-cst.patch | 32 ++++++++++++
 .../falcosecurity-libs-legacy/Config.in       | 12 +++++
 .../falcosecurity-libs-legacy.hash            |  5 ++
 .../falcosecurity-libs-legacy.mk              | 50 +++++++++++++++++++
 .../falcosecurity-libs/falcosecurity-libs.mk  |  5 +-
 10 files changed, 215 insertions(+), 4 deletions(-)
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-legacy/0001-Add-cstdint-for-uintXX_t-types.patch
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-legacy/0002-fix-userspace-libsinsp-explicitly-include-cstdint-to.patch
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-legacy/0003-fix-missing-cstdint-include-to-fix-build-on-Alpine.patch
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-legacy/0004-userspace-libsinsp-scap_open_exception.h-include-cst.patch
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-legacy/Config.in
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-legacy/falcosecurity-libs-legacy.hash
 create mode 100644 package/falcosecurity-libs/falcosecurity-libs-legacy/falcosecurity-libs-legacy.mk

diff --git a/package/falcosecurity-libs/Config.in b/package/falcosecurity-libs/Config.in
index 495dd2b8ca..079dc1f376 100644
--- a/package/falcosecurity-libs/Config.in
+++ b/package/falcosecurity-libs/Config.in
@@ -15,11 +15,12 @@ config BR2_PACKAGE_FALCOSECURITY_LIBS
 	depends on BR2_LINUX_KERNEL
 	depends on BR2_INSTALL_LIBSTDCPP # jsoncpp, re2, tbb, valijson
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # re2
-	depends on BR2_TOOLCHAIN_HAS_THREADS # re2, tbb
+	depends on BR2_TOOLCHAIN_HAS_THREADS # jq, re2, tbb
 	depends on !BR2_STATIC_LIBS # re2, tbb
 	depends on !BR2_TOOLCHAIN_USES_UCLIBC # tbb
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # tbb
-	select BR2_PACKAGE_FALCOSECURITY_LIBS_LATEST
+	select BR2_PACKAGE_FALCOSECURITY_LIBS_LATEST if BR2_ARCH_IS_64
+	select BR2_PACKAGE_FALCOSECURITY_LIBS_LEGACY if !BR2_ARCH_IS_64
 	help
 	  falcosecurity/libs provides libsinsp, libscap, the kernel
 	  module driver and the eBPF driver sources.
@@ -31,6 +32,8 @@ config BR2_PACKAGE_HAS_FALCOSECURITY_LIBS
 
 config BR2_PACKAGE_PROVIDES_FALCOSECURITY_LIBS
 	string
-	default "falcosecurity-libs-latest"
+	default "falcosecurity-libs-latest" if BR2_PACKAGE_FALCOSECURITY_LIBS_LATEST
+	default "falcosecurity-libs-legacy" if BR2_PACKAGE_FALCOSECURITY_LIBS_LEGACY
 
 source "package/falcosecurity-libs/falcosecurity-libs-latest/Config.in"
+source "package/falcosecurity-libs/falcosecurity-libs-legacy/Config.in"
diff --git a/package/falcosecurity-libs/falcosecurity-libs-latest/Config.in b/package/falcosecurity-libs/falcosecurity-libs-latest/Config.in
index 2115e9a928..b020146107 100644
--- a/package/falcosecurity-libs/falcosecurity-libs-latest/Config.in
+++ b/package/falcosecurity-libs/falcosecurity-libs-latest/Config.in
@@ -1,3 +1,5 @@
+# falcosecurity-libs for 64-bit architectures, selected by
+# BR2_PACKAGE_FALCOSECURITY_LIBS
 config BR2_PACKAGE_FALCOSECURITY_LIBS_LATEST
 	bool
 	select BR2_PACKAGE_HAS_FALCOSECURITY_LIBS
diff --git a/package/falcosecurity-libs/falcosecurity-libs-legacy/0001-Add-cstdint-for-uintXX_t-types.patch b/package/falcosecurity-libs/falcosecurity-libs-legacy/0001-Add-cstdint-for-uintXX_t-types.patch
new file mode 100644
index 0000000000..627ba24ff2
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-legacy/0001-Add-cstdint-for-uintXX_t-types.patch
@@ -0,0 +1,46 @@
+From 19de5426a76727e89c7e69ad2badec2ab57f0cf8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 2 Feb 2023 20:18:27 -0800
+Subject: [PATCH] Add <cstdint> for uintXX_t types
+
+gcc 13 moved some includes around and as a result <cstdint> is no
+longer transitively included [1]. Explicitly include it
+for uintXX_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream: https://github.com/falcosecurity/libs/commit/1406858fa5223d980e66e2a5fb2c1b014c9db5c8
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+---
+ userspace/libsinsp/filter/parser.h | 1 +
+ userspace/libsinsp/filter_value.h  | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/userspace/libsinsp/filter/parser.h b/userspace/libsinsp/filter/parser.h
+index 46cc9dd..88aed54 100644
+--- a/userspace/libsinsp/filter/parser.h
++++ b/userspace/libsinsp/filter/parser.h
+@@ -18,6 +18,7 @@ limitations under the License.
+ #pragma once
+ 
+ #include "ast.h"
++#include <cstdint>
+ 
+ namespace re2 { class RE2; };
+ 
+diff --git a/userspace/libsinsp/filter_value.h b/userspace/libsinsp/filter_value.h
+index 47f5367..bd5f202 100644
+--- a/userspace/libsinsp/filter_value.h
++++ b/userspace/libsinsp/filter_value.h
+@@ -18,6 +18,7 @@ limitations under the License.
+ #pragma once
+ 
+ #include <string.h>
++#include <cstdint>
+ #include <utility>
+ 
+ // Used for CO_IN/CO_PMATCH filterchecks using PT_CHARBUFs to allow
+-- 
+2.34.1
+
diff --git a/package/falcosecurity-libs/falcosecurity-libs-legacy/0002-fix-userspace-libsinsp-explicitly-include-cstdint-to.patch b/package/falcosecurity-libs/falcosecurity-libs-legacy/0002-fix-userspace-libsinsp-explicitly-include-cstdint-to.patch
new file mode 100644
index 0000000000..6cfd263853
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-legacy/0002-fix-userspace-libsinsp-explicitly-include-cstdint-to.patch
@@ -0,0 +1,31 @@
+From 428a2cc72d8c0cc138808f019b834b69c3f54f06 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Holger=20Hoffst=C3=A4tte?= <holger@applied-asynchrony.com>
+Date: Tue, 20 Aug 2024 12:22:01 +0200
+Subject: [PATCH] fix(userspace/libsinsp): explicitly include <cstdint> to fix
+ build with gcc-15
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
+Upstream: https://github.com/falcosecurity/libs/commit/9d76298020e9dbde6b5d8e4f36b17c1ad6a4a4c7
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+---
+ userspace/libsinsp/filter/ast.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/userspace/libsinsp/filter/ast.h b/userspace/libsinsp/filter/ast.h
+index ad9060e..73fce2e 100644
+--- a/userspace/libsinsp/filter/ast.h
++++ b/userspace/libsinsp/filter/ast.h
+@@ -17,6 +17,7 @@ limitations under the License.
+ 
+ #pragma once
+ 
++#include <cstdint>
+ #include <vector>
+ #include <string>
+ #include <algorithm>
+-- 
+2.34.1
+
diff --git a/package/falcosecurity-libs/falcosecurity-libs-legacy/0003-fix-missing-cstdint-include-to-fix-build-on-Alpine.patch b/package/falcosecurity-libs/falcosecurity-libs-legacy/0003-fix-missing-cstdint-include-to-fix-build-on-Alpine.patch
new file mode 100644
index 0000000000..6cf29aa8df
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-legacy/0003-fix-missing-cstdint-include-to-fix-build-on-Alpine.patch
@@ -0,0 +1,27 @@
+From 911bdda4f2ca69135b98dd11fdc40123ee83fb8f Mon Sep 17 00:00:00 2001
+From: Stefan Reimer <stefan@zero-downtime.net>
+Date: Mon, 11 Mar 2024 16:45:55 +0000
+Subject: [PATCH] fix: missing cstdint include to fix build on Alpine
+
+Signed-off-by: Stefan Reimer <stefan@zero-downtime.net>
+Upstream: https://github.com/falcosecurity/libs/commit/2514b509ac873102b9266586e458c2f732ca9485
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+---
+ userspace/libsinsp/procfs_utils.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/userspace/libsinsp/procfs_utils.h b/userspace/libsinsp/procfs_utils.h
+index 4059d4d..1df956e 100644
+--- a/userspace/libsinsp/procfs_utils.h
++++ b/userspace/libsinsp/procfs_utils.h
+@@ -1,6 +1,7 @@
+ #pragma once
+ 
+ #include <istream>
++#include <cstdint>
+ #include <string>
+ 
+ namespace libsinsp {
+-- 
+2.34.1
+
diff --git a/package/falcosecurity-libs/falcosecurity-libs-legacy/0004-userspace-libsinsp-scap_open_exception.h-include-cst.patch b/package/falcosecurity-libs/falcosecurity-libs-legacy/0004-userspace-libsinsp-scap_open_exception.h-include-cst.patch
new file mode 100644
index 0000000000..291694bf33
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-legacy/0004-userspace-libsinsp-scap_open_exception.h-include-cst.patch
@@ -0,0 +1,32 @@
+From c732d3db36a617d3a335cd42d94e78c5ac5cfcc9 Mon Sep 17 00:00:00 2001
+From: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+Date: Fri, 30 Oct 2026 13:25:57 +0100
+Subject: [PATCH] userspace/libsinsp: scap_open_exception.h: include <cstdint>
+
+scap_open_exception.h uses int32_t without including <cstdint>, which
+fails to build with musl, where it isn't included by other headers:
+
+  scap_open_exception.h:28:65: error: 'int32_t' does not name a type
+
+Upstream: https://github.com/falcosecurity/libs/pull/3154
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+---
+ userspace/libsinsp/scap_open_exception.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/userspace/libsinsp/scap_open_exception.h b/userspace/libsinsp/scap_open_exception.h
+index 6877456..1614da9 100644
+--- a/userspace/libsinsp/scap_open_exception.h
++++ b/userspace/libsinsp/scap_open_exception.h
+@@ -16,6 +16,8 @@ limitations under the License.
+ */
+ #pragma once
+ 
++#include <cstdint>
++
+ #include "sinsp_exception.h"
+ 
+ /*!
+-- 
+2.34.1
+
diff --git a/package/falcosecurity-libs/falcosecurity-libs-legacy/Config.in b/package/falcosecurity-libs/falcosecurity-libs-legacy/Config.in
new file mode 100644
index 0000000000..546e8183a8
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-legacy/Config.in
@@ -0,0 +1,12 @@
+# falcosecurity-libs for 32-bit architectures, selected by
+# BR2_PACKAGE_FALCOSECURITY_LIBS
+config BR2_PACKAGE_FALCOSECURITY_LIBS_LEGACY
+	bool
+	select BR2_PACKAGE_HAS_FALCOSECURITY_LIBS
+	select BR2_PACKAGE_JQ
+	select BR2_PACKAGE_JSONCPP
+	select BR2_PACKAGE_LIBB64
+	select BR2_PACKAGE_RE2
+	select BR2_PACKAGE_TBB
+	select BR2_PACKAGE_VALIJSON
+	select BR2_PACKAGE_ZLIB
diff --git a/package/falcosecurity-libs/falcosecurity-libs-legacy/falcosecurity-libs-legacy.hash b/package/falcosecurity-libs/falcosecurity-libs-legacy/falcosecurity-libs-legacy.hash
new file mode 100644
index 0000000000..ef805cbcf6
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-legacy/falcosecurity-libs-legacy.hash
@@ -0,0 +1,5 @@
+# sha256 locally computed
+sha256  2a4b37c08bec4ba81326314831f341385aff267062e8d4483437958689662936  falcosecurity-libs-0.10.5.tar.gz
+sha256  21ec9433a87459b3477faf542bacec419dc03af841309eac35edeffe481cf10b  COPYING
+sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  driver/GPL2.txt
+sha256  f17d3f2c2d565a74a7d5bf96f880c43701e141897e8dff0c8aa13e5d07aaf226  driver/MIT.txt
diff --git a/package/falcosecurity-libs/falcosecurity-libs-legacy/falcosecurity-libs-legacy.mk b/package/falcosecurity-libs/falcosecurity-libs-legacy/falcosecurity-libs-legacy.mk
new file mode 100644
index 0000000000..1d3bfd15a7
--- /dev/null
+++ b/package/falcosecurity-libs/falcosecurity-libs-legacy/falcosecurity-libs-legacy.mk
@@ -0,0 +1,50 @@
+################################################################################
+#
+# falcosecurity-libs-legacy
+#
+################################################################################
+
+FALCOSECURITY_LIBS_LEGACY_VERSION = 0.10.5
+FALCOSECURITY_LIBS_LEGACY_SITE = $(call github,falcosecurity,libs,$(FALCOSECURITY_LIBS_LEGACY_VERSION))
+FALCOSECURITY_LIBS_LEGACY_SOURCE = falcosecurity-libs-$(FALCOSECURITY_LIBS_LEGACY_VERSION).tar.gz
+FALCOSECURITY_LIBS_LEGACY_DL_SUBDIR = falcosecurity-libs
+FALCOSECURITY_LIBS_LEGACY_LICENSE = $(FALCOSECURITY_LIBS_LICENSE)
+FALCOSECURITY_LIBS_LEGACY_LICENSE_FILES = $(FALCOSECURITY_LIBS_LICENSE_FILES)
+FALCOSECURITY_LIBS_LEGACY_PROVIDES = falcosecurity-libs
+
+# The userspace components are not built here: sysdig builds them from
+# these sources, with these dependencies.
+FALCOSECURITY_LIBS_LEGACY_DEPENDENCIES = \
+	jq \
+	jsoncpp \
+	libb64 \
+	re2 \
+	tbb \
+	valijson \
+	zlib
+
+FALCOSECURITY_LIBS_LEGACY_MODULE_SUBDIRS = driver
+FALCOSECURITY_LIBS_LEGACY_MODULE_MAKE_OPTS = $(FALCOSECURITY_LIBS_MODULE_MAKE_OPTS)
+
+# The driver Makefile and driver_config.h are normally generated by the
+# driver CMakeLists.txt, which doesn't work well with the kernel-module
+# infrastructure, so generate them here. The API and schema versions
+# come from driver/API_VERSION and driver/SCHEMA_VERSION.
+define FALCOSECURITY_LIBS_LEGACY_GEN_DRIVER_FILES
+	sed 's/@KBUILD_FLAGS@//;s/@DRIVER_NAME@/$(FALCOSECURITY_LIBS_DRIVER_NAME)/' \
+		$(@D)/driver/Makefile.in > $(@D)/driver/Makefile
+	$(INSTALL) -m 0644 $(@D)/driver/driver_config.h.in $(@D)/driver/driver_config.h
+	for v in API SCHEMA; do \
+		IFS=. read -r major minor patch < $(@D)/driver/$${v}_VERSION; \
+		$(SED) "s/\$${PPM_$${v}_CURRENT_VERSION_MAJOR}/$${major}/;s/\$${PPM_$${v}_CURRENT_VERSION_MINOR}/$${minor}/;s/\$${PPM_$${v}_CURRENT_VERSION_PATCH}/$${patch}/" \
+			$(@D)/driver/driver_config.h; \
+	done
+	$(SED) 's/\$${DRIVER_VERSION}/$(FALCOSECURITY_LIBS_LEGACY_VERSION)/;s/\$${GIT_COMMIT}/$(FALCOSECURITY_LIBS_LEGACY_VERSION)/' \
+		$(@D)/driver/driver_config.h
+	$(SED) 's/\$${DRIVER_NAME}/$(FALCOSECURITY_LIBS_DRIVER_NAME)/;s/\$${DRIVER_DEVICE_NAME}/$(FALCOSECURITY_LIBS_DRIVER_NAME)/' \
+		$(@D)/driver/driver_config.h
+endef
+FALCOSECURITY_LIBS_LEGACY_POST_PATCH_HOOKS += FALCOSECURITY_LIBS_LEGACY_GEN_DRIVER_FILES
+
+$(eval $(kernel-module))
+$(eval $(generic-package))
diff --git a/package/falcosecurity-libs/falcosecurity-libs.mk b/package/falcosecurity-libs/falcosecurity-libs.mk
index 0437648383..f4303a3cdd 100644
--- a/package/falcosecurity-libs/falcosecurity-libs.mk
+++ b/package/falcosecurity-libs/falcosecurity-libs.mk
@@ -4,7 +4,10 @@
 #
 ################################################################################
 
-# falcosecurity-libs is provided by falcosecurity-libs-latest.
+# Since version 0.11.0, the userspace libraries only support 64-bit
+# architectures: falcosecurity-libs-latest provides falcosecurity-libs on
+# them, and falcosecurity-libs-legacy, the last version supporting
+# 32-bit architectures, on the others.
 
 FALCOSECURITY_LIBS_LICENSE = Apache-2.0 (userspace), MIT or GPL-2.0 (driver)
 FALCOSECURITY_LIBS_LICENSE_FILES = COPYING driver/MIT.txt driver/GPL2.txt
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH 9/9] package/sysdig: add sysdig-legacy
  2026-10-30 15:24 [Buildroot] [PATCH 1/9] package/uthash: new package Angelo Compagnucci
                   ` (6 preceding siblings ...)
  2026-10-30 15:24 ` [Buildroot] [PATCH 8/9] package/falcosecurity-libs: add falcosecurity-libs-legacy Angelo Compagnucci
@ 2026-10-30 15:24 ` Angelo Compagnucci
  2026-10-30 15:58 ` [Buildroot] [PATCH 1/9] package/uthash: new package Fiona Klute via buildroot
  8 siblings, 0 replies; 11+ messages in thread
From: Angelo Compagnucci @ 2026-10-30 15:24 UTC (permalink / raw)
  To: buildroot; +Cc: Francis Laniel, Angelo Compagnucci

Add sysdig-legacy, providing sysdig 0.31.5 on 32-bit architectures. It
is the last version using falcosecurity-libs 0.10.5, provided by
falcosecurity-libs-legacy, and the 32-bit architectures are now enabled
in falcosecurity-libs.

sysdig-legacy builds the userspace libraries from the
falcosecurity-libs-legacy sources and links them statically, as it
doesn't install them.

To keep the build small, it uses the minimal build, which doesn't
support Kubernetes, Mesos, the container metadata and the eBPF probe, so
it doesn't need grpc, protobuf, c-ares, libcurl, openssl and elfutils.
The full build can be enabled in a following patch.

The libsinsp examples are not built, as they are not needed and fail
to build with musl.

Patches: backport the upstream switch to C++17, as needed by the
libabseil-cpp headers included by re2.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 package/falcosecurity-libs/Config.in          |  3 +
 package/sysdig/Config.in                      |  7 ++-
 package/sysdig/sysdig-latest/Config.in        |  1 +
 .../0001-CMakeLists.txt-build-with-C-17.patch | 33 +++++++++++
 package/sysdig/sysdig-legacy/Config.in        |  4 ++
 .../sysdig/sysdig-legacy/sysdig-legacy.hash   |  3 +
 package/sysdig/sysdig-legacy/sysdig-legacy.mk | 56 +++++++++++++++++++
 package/sysdig/sysdig.mk                      |  4 +-
 8 files changed, 108 insertions(+), 3 deletions(-)
 create mode 100644 package/sysdig/sysdig-legacy/0001-CMakeLists.txt-build-with-C-17.patch
 create mode 100644 package/sysdig/sysdig-legacy/Config.in
 create mode 100644 package/sysdig/sysdig-legacy/sysdig-legacy.hash
 create mode 100644 package/sysdig/sysdig-legacy/sysdig-legacy.mk

diff --git a/package/falcosecurity-libs/Config.in b/package/falcosecurity-libs/Config.in
index 079dc1f376..a897cadd90 100644
--- a/package/falcosecurity-libs/Config.in
+++ b/package/falcosecurity-libs/Config.in
@@ -1,11 +1,14 @@
 config BR2_PACKAGE_FALCOSECURITY_LIBS_ARCH_SUPPORTS
 	bool
+	# falcosecurity-libs-latest
 	default y if BR2_aarch64
 	default y if BR2_loongarch64
 	default y if BR2_powerpc64le
 	default y if BR2_riscv && BR2_ARCH_IS_64
 	default y if BR2_s390x
 	default y if BR2_x86_64
+	# falcosecurity-libs-legacy
+	default y if !BR2_ARCH_IS_64
 	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # re2
 
 config BR2_PACKAGE_FALCOSECURITY_LIBS
diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in
index 35f28bf6cd..f00f6c4762 100644
--- a/package/sysdig/Config.in
+++ b/package/sysdig/Config.in
@@ -11,7 +11,8 @@ config BR2_PACKAGE_SYSDIG
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # falcosecurity-libs
 	depends on BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 # chisels
 	select BR2_PACKAGE_FALCOSECURITY_LIBS
-	select BR2_PACKAGE_SYSDIG_LATEST
+	select BR2_PACKAGE_SYSDIG_LATEST if BR2_ARCH_IS_64
+	select BR2_PACKAGE_SYSDIG_LEGACY if !BR2_ARCH_IS_64
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_JSON_FOR_MODERN_CPP
 	select BR2_PACKAGE_YAML_CPP
@@ -38,6 +39,8 @@ config BR2_PACKAGE_HAS_SYSDIG
 
 config BR2_PACKAGE_PROVIDES_SYSDIG
 	string
-	default "sysdig-latest"
+	default "sysdig-latest" if BR2_PACKAGE_SYSDIG_LATEST
+	default "sysdig-legacy" if BR2_PACKAGE_SYSDIG_LEGACY
 
 source "package/sysdig/sysdig-latest/Config.in"
+source "package/sysdig/sysdig-legacy/Config.in"
diff --git a/package/sysdig/sysdig-latest/Config.in b/package/sysdig/sysdig-latest/Config.in
index 2af84e1917..5cbb10f5fb 100644
--- a/package/sysdig/sysdig-latest/Config.in
+++ b/package/sysdig/sysdig-latest/Config.in
@@ -1,3 +1,4 @@
+# sysdig for 64-bit architectures, selected by BR2_PACKAGE_SYSDIG
 config BR2_PACKAGE_SYSDIG_LATEST
 	bool
 	select BR2_PACKAGE_HAS_SYSDIG
diff --git a/package/sysdig/sysdig-legacy/0001-CMakeLists.txt-build-with-C-17.patch b/package/sysdig/sysdig-legacy/0001-CMakeLists.txt-build-with-C-17.patch
new file mode 100644
index 0000000000..d033e0eddb
--- /dev/null
+++ b/package/sysdig/sysdig-legacy/0001-CMakeLists.txt-build-with-C-17.patch
@@ -0,0 +1,33 @@
+From 1b544d328d0afbde2f1443a3f4cb1ef332d65592 Mon Sep 17 00:00:00 2001
+From: Roberto Scolaro <roberto.scolaro21@gmail.com>
+Date: Mon, 5 Jun 2023 12:41:02 +0200
+Subject: [PATCH] CMakeLists.txt: build with C++17
+
+Abseil, used by re2, needs C++17.
+
+This is the C++ standard part of the upstream commit bumping the
+falcosecurity libs to version 0.11.0.
+
+Upstream: https://github.com/draios/sysdig/commit/954e6fc6238f21d4870a491395d68a7dd3062aa9
+[Angelo: only keep the C++ standard change]
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0309d66..cadca83 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,7 +90,7 @@ if(NOT WIN32)
+ 	endif()
+ 
+ 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_COMMON_FLAGS}")
+-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++0x")
++	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_COMMON_FLAGS} -std=c++17")
+ 
+ 	set(CMAKE_C_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+ 	set(CMAKE_CXX_FLAGS_DEBUG "${SYSDIG_DEBUG_FLAGS}")
+-- 
+2.34.1
+
diff --git a/package/sysdig/sysdig-legacy/Config.in b/package/sysdig/sysdig-legacy/Config.in
new file mode 100644
index 0000000000..dc485a0fba
--- /dev/null
+++ b/package/sysdig/sysdig-legacy/Config.in
@@ -0,0 +1,4 @@
+# sysdig for 32-bit architectures, selected by BR2_PACKAGE_SYSDIG
+config BR2_PACKAGE_SYSDIG_LEGACY
+	bool
+	select BR2_PACKAGE_HAS_SYSDIG
diff --git a/package/sysdig/sysdig-legacy/sysdig-legacy.hash b/package/sysdig/sysdig-legacy/sysdig-legacy.hash
new file mode 100644
index 0000000000..efdd73b201
--- /dev/null
+++ b/package/sysdig/sysdig-legacy/sysdig-legacy.hash
@@ -0,0 +1,3 @@
+# sha256 locally computed
+sha256  9af98cae7c38273f7429ba0df628c9745bd92c949f444e180b9dd800af14c6dd  sysdig-0.31.5.tar.gz
+sha256  a88fbf820b38b1c7fabc6efe291b8259e02ae21326f56fe31c6c9adf374b2702  COPYING
diff --git a/package/sysdig/sysdig-legacy/sysdig-legacy.mk b/package/sysdig/sysdig-legacy/sysdig-legacy.mk
new file mode 100644
index 0000000000..c1252dfd89
--- /dev/null
+++ b/package/sysdig/sysdig-legacy/sysdig-legacy.mk
@@ -0,0 +1,56 @@
+################################################################################
+#
+# sysdig-legacy
+#
+################################################################################
+
+SYSDIG_LEGACY_VERSION = 0.31.5
+SYSDIG_LEGACY_SITE = $(call github,draios,sysdig,$(SYSDIG_LEGACY_VERSION))
+SYSDIG_LEGACY_SOURCE = sysdig-$(SYSDIG_LEGACY_VERSION).tar.gz
+SYSDIG_LEGACY_DL_SUBDIR = sysdig
+SYSDIG_LEGACY_LICENSE = $(SYSDIG_LICENSE)
+SYSDIG_LEGACY_LICENSE_FILES = $(SYSDIG_LICENSE_FILES)
+SYSDIG_LEGACY_CPE_ID_VENDOR = $(SYSDIG_CPE_ID_VENDOR)
+SYSDIG_LEGACY_CPE_ID_PRODUCT = sysdig
+SYSDIG_LEGACY_PROVIDES = sysdig
+SYSDIG_LEGACY_SUPPORTS_IN_SOURCE_BUILD = NO
+
+SYSDIG_LEGACY_DEPENDENCIES = \
+	falcosecurity-libs \
+	json-for-modern-cpp \
+	luainterpreter \
+	ncurses \
+	yaml-cpp
+
+# sysdig forces the bundled version of some falcosecurity-libs
+# dependencies, unless they are explicitly disabled.
+SYSDIG_LEGACY_CONF_OPTS = \
+	-DUSE_BUNDLED_DEPS=OFF \
+	-DUSE_BUNDLED_B64=OFF \
+	-DUSE_BUNDLED_JSONCPP=OFF \
+	-DUSE_BUNDLED_RE2=OFF \
+	-DUSE_BUNDLED_TBB=OFF \
+	-DUSE_BUNDLED_VALIJSON=OFF \
+	-DCREATE_TEST_TARGETS=OFF \
+	-DBUILD_LIBSINSP_EXAMPLES=OFF \
+	-DSYSDIG_VERSION=$(SYSDIG_LEGACY_VERSION)
+
+# To keep the build small, use the minimal build, which doesn't support
+# Kubernetes, Mesos, the container metadata and the eBPF probe, and so
+# doesn't need grpc, protobuf, c-ares, libcurl, openssl and elfutils.
+# The full build can be enabled in a following patch.
+SYSDIG_LEGACY_CONF_OPTS += -DMINIMAL_BUILD=ON
+
+# falcosecurity-libs-legacy only provides the sources of the userspace
+# libraries, which are built here and linked statically, as sysdig
+# doesn't install them. Don't build the driver as part of the 'standard'
+# procedure, it has been built by falcosecurity-libs-legacy.
+SYSDIG_LEGACY_CONF_OPTS += \
+	-DBUILD_SHARED_LIBS=OFF \
+	-DFALCOSECURITY_LIBS_SOURCE_DIR=$(FALCOSECURITY_LIBS_LEGACY_SRCDIR) \
+	-DDRIVER_SOURCE_DIR=$(FALCOSECURITY_LIBS_LEGACY_SRCDIR)/driver \
+	-DDRIVER_NAME=$(FALCOSECURITY_LIBS_DRIVER_NAME) \
+	-DBUILD_DRIVER=OFF \
+	-DENABLE_DKMS=OFF
+
+$(eval $(cmake-package))
diff --git a/package/sysdig/sysdig.mk b/package/sysdig/sysdig.mk
index 3ee54a556b..4bd40f51a2 100644
--- a/package/sysdig/sysdig.mk
+++ b/package/sysdig/sysdig.mk
@@ -4,7 +4,9 @@
 #
 ################################################################################
 
-# sysdig is provided by sysdig-latest.
+# sysdig-latest provides sysdig on 64-bit architectures, and
+# sysdig-legacy, the last version supporting 32-bit architectures, on
+# the others, see falcosecurity-libs.
 
 SYSDIG_LICENSE = Apache-2.0
 SYSDIG_LICENSE_FILES = COPYING
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [Buildroot] [PATCH 1/9] package/uthash: new package
  2026-10-30 15:24 [Buildroot] [PATCH 1/9] package/uthash: new package Angelo Compagnucci
                   ` (7 preceding siblings ...)
  2026-10-30 15:24 ` [Buildroot] [PATCH 9/9] package/sysdig: add sysdig-legacy Angelo Compagnucci
@ 2026-10-30 15:58 ` Fiona Klute via buildroot
  8 siblings, 0 replies; 11+ messages in thread
From: Fiona Klute via buildroot @ 2026-10-30 15:58 UTC (permalink / raw)
  To: Angelo Compagnucci, buildroot; +Cc: Francis Laniel

Hi Angleo,

when you send a new version of a patch (or series) you sent before, 
please make sure to set the version when generating the patches (git 
format-patch -v N), and note the changes between the two in the patch 
notes (and cover letter, if any). It's confusing if there are two (or 
more) patches with identical titles in the mailbox.

Best regards,
Fiona

Am 30.10.26 um 16:24 schrieb Angelo Compagnucci:
> uthash is a set of C macros implementing hash tables, linked lists,
> dynamic arrays and other data structures, provided as headers only.
> 
> It is needed by falcosecurity-libs, which otherwise downloads uthash.h
> at build time.
> 
> Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
> ---
>   DEVELOPERS                 |  1 +
>   package/Config.in          |  1 +
>   package/sysdig/Config.in   |  2 +-
>   package/uthash/Config.in   |  8 ++++++++
>   package/uthash/uthash.hash |  3 +++
>   package/uthash/uthash.mk   | 19 +++++++++++++++++++
>   6 files changed, 33 insertions(+), 1 deletion(-)
>   create mode 100644 package/uthash/Config.in
>   create mode 100644 package/uthash/uthash.hash
>   create mode 100644 package/uthash/uthash.mk
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index b4ada4e1f9..8ca72bec84 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -261,6 +261,7 @@ F:	package/sam-ba/
>   F:	package/sshguard/
>   F:	package/sunwait/
>   F:	package/sysdig/
> +F:	package/uthash/
>   
>   N:	Andy Shevchenko <andy.shevchenko@gmail.com>
>   F:	package/fb-test-app/
> diff --git a/package/Config.in b/package/Config.in
> index 796c4f1ad6..02932e5ac1 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -2323,6 +2323,7 @@ endif
>   	source "package/tllist/Config.in"
>   	source "package/tz/Config.in"
>   	source "package/tzdata/Config.in"
> +	source "package/uthash/Config.in"
>   	source "package/uvw/Config.in"
>   	source "package/volk/Config.in"
>   	source "package/xapian/Config.in"
> diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in
> index 73ac03e240..038a9734aa 100644
> --- a/package/sysdig/Config.in
> +++ b/package/sysdig/Config.in
> @@ -24,7 +24,7 @@ config BR2_PACKAGE_SYSDIG
>   
>   	  https://github.com/draios/sysdig/wiki
>   
> -comment "sysdig needs a glibc toolchain w/ C++, threads, wchar, gcc >= 10, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built"
> +comment "sysdig needs a glibc or musl toolchain w/ C++, threads, wchar, gcc >= 10, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built"
>   	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
>   	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
>   	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
> diff --git a/package/uthash/Config.in b/package/uthash/Config.in
> new file mode 100644
> index 0000000000..e19c277abd
> --- /dev/null
> +++ b/package/uthash/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_UTHASH
> +	bool "uthash"
> +	help
> +	  uthash is a set of C macros implementing hash tables, linked
> +	  lists, dynamic arrays and other data structures, provided as
> +	  headers only.
> +
> +	  https://troydhanson.github.io/uthash/
> diff --git a/package/uthash/uthash.hash b/package/uthash/uthash.hash
> new file mode 100644
> index 0000000000..37a5a66aba
> --- /dev/null
> +++ b/package/uthash/uthash.hash
> @@ -0,0 +1,3 @@
> +# Locally computed
> +sha256  387ba027946d7c64e9aa19cc53b2edcd714f8f9dca9fa8e3aaef17e0e8e3d736  uthash-2.4.0.tar.gz
> +sha256  40f48f89e1d0095bf1c5fb4d00affd74959c3ff77463b672cf7fac547d1d6465  LICENSE
> diff --git a/package/uthash/uthash.mk b/package/uthash/uthash.mk
> new file mode 100644
> index 0000000000..2107a90d56
> --- /dev/null
> +++ b/package/uthash/uthash.mk
> @@ -0,0 +1,19 @@
> +################################################################################
> +#
> +# uthash
> +#
> +################################################################################
> +
> +UTHASH_VERSION = 2.4.0
> +UTHASH_SITE = $(call github,troydhanson,uthash,v$(UTHASH_VERSION))
> +UTHASH_LICENSE = BSD-1-Clause
> +UTHASH_LICENSE_FILES = LICENSE
> +UTHASH_INSTALL_STAGING = YES
> +UTHASH_INSTALL_TARGET = NO
> +
> +define UTHASH_INSTALL_STAGING_CMDS
> +	$(INSTALL) -d $(STAGING_DIR)/usr/include
> +	$(INSTALL) -m 0644 $(@D)/src/*.h $(STAGING_DIR)/usr/include
> +endef
> +
> +$(eval $(generic-package))
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-10-30 15:59 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-30 15:24 [Buildroot] [PATCH 1/9] package/uthash: new package Angelo Compagnucci
2026-10-30 15:24 ` [Buildroot] [PATCH 2/9] package/webrtc-audio-processing: fix build with musl Angelo Compagnucci
2026-10-30 15:24 ` [Buildroot] [PATCH 3/9] package/libabseil-cpp: allow building " Angelo Compagnucci
2026-10-30 15:24 ` [Buildroot] [PATCH 4/9] package/falcosecurity-libs: bump to version 0.21.0 Angelo Compagnucci
2026-10-30 15:24 ` [Buildroot] [PATCH 5/9] package/sysdig: bump to version 0.41.4 Angelo Compagnucci
2026-10-30 15:24 ` [Buildroot] [PATCH 6/9] package/falcosecurity-libs: convert to a virtual package Angelo Compagnucci
2026-10-30 15:24 ` [Buildroot] [PATCH 7/9] package/sysdig: " Angelo Compagnucci
2026-10-30 15:24 ` [Buildroot] [PATCH 8/9] package/falcosecurity-libs: add falcosecurity-libs-legacy Angelo Compagnucci
2026-10-30 15:24 ` [Buildroot] [PATCH 9/9] package/sysdig: add sysdig-legacy Angelo Compagnucci
2026-10-30 15:58 ` [Buildroot] [PATCH 1/9] package/uthash: new package Fiona Klute via buildroot
  -- strict thread matches above, loose matches on Subject: below --
2026-10-30 13:59 Angelo Compagnucci
2026-10-30 13:59 ` [Buildroot] [PATCH 6/9] package/falcosecurity-libs: convert to a virtual package Angelo Compagnucci

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox