From f2fa2dc3cfc1f55cb99f5603157f1af81fa4f0a9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 10 Nov 2025 19:49:22 -0800 Subject: snort3: Upgrade to 3.9.7.0 Fix build with C23 glibc while here Signed-off-by: Khem Raj --- .../snort/snort3/0001-Fix-build-on-c23.patch | 43 ++++++++++++++++++++++ .../recipes-connectivity/snort/snort3_3.9.1.0.bb | 37 ------------------- .../recipes-connectivity/snort/snort3_3.9.7.0.bb | 39 ++++++++++++++++++++ 3 files changed, 82 insertions(+), 37 deletions(-) create mode 100644 meta-networking/recipes-connectivity/snort/snort3/0001-Fix-build-on-c23.patch delete mode 100644 meta-networking/recipes-connectivity/snort/snort3_3.9.1.0.bb create mode 100644 meta-networking/recipes-connectivity/snort/snort3_3.9.7.0.bb diff --git a/meta-networking/recipes-connectivity/snort/snort3/0001-Fix-build-on-c23.patch b/meta-networking/recipes-connectivity/snort/snort3/0001-Fix-build-on-c23.patch new file mode 100644 index 0000000000..884a4b8fe6 --- /dev/null +++ b/meta-networking/recipes-connectivity/snort/snort3/0001-Fix-build-on-c23.patch @@ -0,0 +1,43 @@ +From ae5566a7df4851bd47081ef0e00e2a0513b7f331 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 10 Nov 2025 19:41:16 -0800 +Subject: [PATCH] Fix build on c23 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +C23/glibc is now including once_init in stdlib.h + +https://patchwork.sourceware.org/project/glibc/patch/78061085-f04a-0c45-107b-5a8a15521083@redhat.com/#213088 + +This is a name collision with the new C once_flag/call_once that +glibc exposes (via ) and C++’s std::once_flag/std::call_once + +Upstream-Status: Submitted [https://github.com/snort3/snort3/pull/431] +Signed-off-by: Khem Raj +--- + src/loggers/alert_fast.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/loggers/alert_fast.cc b/src/loggers/alert_fast.cc +index 7b5deab2..3f88bff6 100644 +--- a/src/loggers/alert_fast.cc ++++ b/src/loggers/alert_fast.cc +@@ -53,7 +53,7 @@ using namespace std; + #define FAST_BUF (4*K_BYTES) + + static THREAD_LOCAL TextLog* fast_log = nullptr; +-static once_flag init_flag; ++static std::once_flag init_flag; + + #define S_NAME "alert_fast" + #define F_NAME S_NAME ".txt" +@@ -319,7 +319,7 @@ void FastLogger::set_buffer_ids(Inspector* gadget) + const BufferIds& FastLogger::get_buffer_ids(Inspector* gadget, Packet* p) + { + // lazy init required because loggers don't have a configure (yet) +- call_once(init_flag, set_buffer_ids, gadget); ++ std::call_once(init_flag, set_buffer_ids, gadget); + + InspectionBuffer buf; + const std::vector& idv = diff --git a/meta-networking/recipes-connectivity/snort/snort3_3.9.1.0.bb b/meta-networking/recipes-connectivity/snort/snort3_3.9.1.0.bb deleted file mode 100644 index 598b1f4dfb..0000000000 --- a/meta-networking/recipes-connectivity/snort/snort3_3.9.1.0.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "snort3" -DESCRIPTION = "snort3 - a free lightweight network intrusion detection system for UNIX and Windows." -HOMEPAGE = "http://www.snort.org/" -SECTION = "net" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5" - -DEPENDS = "flex-native hwloc libdaq libdnet libpcap libpcre libtirpc libunwind luajit zlib" - -SRC_URI = "git://github.com/snort3/snort3.git;protocol=https;branch=master \ - file://0001-cmake-Check-for-HP-libunwind.patch \ - file://0001-cmake-Pass-noline-flag-to-flex.patch" - -SRCREV = "6730d53f99f3714654804d07203f33e6b1b8a107" - -PACKAGES =+ "${PN}-scripts" - -inherit cmake pkgconfig - -do_install:append() { - sed -i "s#${RECIPE_SYSROOT_NATIVE}##g; s#${RECIPE_SYSROOT}##g" ${D}${libdir}/pkgconfig/snort.pc -} - -FILES:${PN} += "${libdir}/snort/daq/*.so" - -FILES:${PN}-scripts = "${bindir}/appid_detector_builder.sh" - -RDEPENDS:${PN}-scripts += "bash" - -# mips64/ppc/ppc64/riscv64/riscv32 is not supported in this release -COMPATIBLE_HOST:mipsarchn32 = "null" -COMPATIBLE_HOST:mipsarchn64 = "null" -COMPATIBLE_HOST:powerpc = "null" -COMPATIBLE_HOST:powerpc64 = "null" -COMPATIBLE_HOST:powerpc64le = "null" -COMPATIBLE_HOST:riscv64 = "null" -COMPATIBLE_HOST:riscv32 = "null" diff --git a/meta-networking/recipes-connectivity/snort/snort3_3.9.7.0.bb b/meta-networking/recipes-connectivity/snort/snort3_3.9.7.0.bb new file mode 100644 index 0000000000..64a63ce918 --- /dev/null +++ b/meta-networking/recipes-connectivity/snort/snort3_3.9.7.0.bb @@ -0,0 +1,39 @@ +SUMMARY = "snort3" +DESCRIPTION = "snort3 - a free lightweight network intrusion detection system for UNIX and Windows." +HOMEPAGE = "http://www.snort.org/" +SECTION = "net" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5" + +DEPENDS = "flex-native hwloc libdaq libdnet libpcap libpcre libtirpc libunwind luajit zlib" + +SRC_URI = "git://github.com/snort3/snort3.git;protocol=https;branch=master;tag=${PV} \ + file://0001-cmake-Check-for-HP-libunwind.patch \ + file://0001-cmake-Pass-noline-flag-to-flex.patch \ + file://0001-Fix-build-on-c23.patch \ + " + +SRCREV = "892f9f3b04d604797851d60e89d6cfe640a047cd" + +PACKAGES =+ "${PN}-scripts" + +inherit cmake pkgconfig + +do_install:append() { + sed -i "s#${RECIPE_SYSROOT_NATIVE}##g; s#${RECIPE_SYSROOT}##g" ${D}${libdir}/pkgconfig/snort.pc +} + +FILES:${PN} += "${libdir}/snort/daq/*.so" + +FILES:${PN}-scripts = "${bindir}/appid_detector_builder.sh" + +RDEPENDS:${PN}-scripts += "bash" + +# mips64/ppc/ppc64/riscv64/riscv32 is not supported in this release +COMPATIBLE_HOST:mipsarchn32 = "null" +COMPATIBLE_HOST:mipsarchn64 = "null" +COMPATIBLE_HOST:powerpc = "null" +COMPATIBLE_HOST:powerpc64 = "null" +COMPATIBLE_HOST:powerpc64le = "null" +COMPATIBLE_HOST:riscv64 = "null" +COMPATIBLE_HOST:riscv32 = "null" -- cgit v1.2.3-54-g00ecf