Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Angelo Compagnucci <angelo.compagnucci@gmail.com>
To: buildroot@buildroot.org
Cc: Francis Laniel <flaniel@linux.microsoft.com>,
	Angelo Compagnucci <angelo.compagnucci@gmail.com>
Subject: [Buildroot] [PATCH 9/9] package/sysdig: add sysdig-legacy
Date: Fri, 30 Oct 2026 16:24:34 +0100	[thread overview]
Message-ID: <20261030152434.3738285-9-angelo.compagnucci@gmail.com> (raw)
In-Reply-To: <20261030152434.3738285-1-angelo.compagnucci@gmail.com>

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

  parent reply	other threads:[~2026-10-30 15:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` Angelo Compagnucci [this message]
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 9/9] package/sysdig: add sysdig-legacy Angelo Compagnucci

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261030152434.3738285-9-angelo.compagnucci@gmail.com \
    --to=angelo.compagnucci@gmail.com \
    --cc=buildroot@buildroot.org \
    --cc=flaniel@linux.microsoft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox