aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-filter/ipset
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking/recipes-filter/ipset')
-rw-r--r--meta-networking/recipes-filter/ipset/ipset/0001-ipset-Define-portable-basename-function.patch50
-rw-r--r--meta-networking/recipes-filter/ipset/ipset_7.21.bb (renamed from meta-networking/recipes-filter/ipset/ipset_7.11.bb)9
2 files changed, 55 insertions, 4 deletions
diff --git a/meta-networking/recipes-filter/ipset/ipset/0001-ipset-Define-portable-basename-function.patch b/meta-networking/recipes-filter/ipset/ipset/0001-ipset-Define-portable-basename-function.patch
new file mode 100644
index 0000000000..a06bcac362
--- /dev/null
+++ b/meta-networking/recipes-filter/ipset/ipset/0001-ipset-Define-portable-basename-function.patch
@@ -0,0 +1,50 @@
+From 8c5c0a7a48af7652c50bc27a4efdd9cb4f7d95bd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 24 Mar 2024 21:58:50 -0700
+Subject: [PATCH] ipset: Define portable basename function
+
+Newer version of musl have removed prototype for basename in string.h [1]
+which now makes it fail to compile with newer clang 18+ compiler therefore
+define own basename utility function and not depend on platform for it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/ipset.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/src/ipset.c b/src/ipset.c
+index 162f477..7b5d580 100644
+--- a/src/ipset.c
++++ b/src/ipset.c
+@@ -16,6 +16,16 @@
+ #include <libipset/ipset.h> /* ipset library */
+ #include <libipset/xlate.h> /* translate to nftables */
+
++/* basename is implemented differently across different C libraries. This
++ * implementation matches the one provided by the GNU libc, and does not
++ * modify its input parameter.
++ */
++static const char *ipset_basename(const char *path)
++{
++ const char *base = strrchr(path, '/');
++ return base ? base + 1 : path;
++}
++
+ int
+ main(int argc, char *argv[])
+ {
+@@ -32,7 +42,7 @@ main(int argc, char *argv[])
+ exit(1);
+ }
+
+- if (!strcmp(basename(argv[0]), "ipset-translate")) {
++ if (!strcmp(ipset_basename(argv[0]), "ipset-translate")) {
+ ret = ipset_xlate_argv(ipset, argc, argv);
+ } else {
+ ret = ipset_parse_argv(ipset, argc, argv);
+--
+2.44.0
+
diff --git a/meta-networking/recipes-filter/ipset/ipset_7.11.bb b/meta-networking/recipes-filter/ipset/ipset_7.21.bb
index 693aa90318..c7ebdc1c66 100644
--- a/meta-networking/recipes-filter/ipset/ipset_7.11.bb
+++ b/meta-networking/recipes-filter/ipset/ipset_7.21.bb
@@ -3,19 +3,20 @@
DESCRIPTION = "Administration tool for IP sets"
HOMEPAGE = "http://ipset.netfilter.org"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SECTION = "base"
DEPENDS = "libtool libmnl"
-SRC_URI = "http://ftp.netfilter.org/pub/ipset/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "3151baad30f1d9e317b2ab4f2f5aa7a9f7b4dc11fcf8fe73acd0dc0b5dbabf7d"
+SRC_URI = "http://ftp.netfilter.org/pub/ipset/${BP}.tar.bz2 \
+ file://0001-ipset-Define-portable-basename-function.patch"
+SRC_URI[sha256sum] = "e2c6ce4fcf3acb3893ca5d35c86935f80ad76fc5ccae601185842df760e0bc69"
inherit autotools pkgconfig module-base
EXTRA_OECONF += "-with-kbuild=${KBUILD_OUTPUT} --with-ksource=${STAGING_KERNEL_DIR}"
-RRECOMMENDS_${PN} = "\
+RRECOMMENDS:${PN} = "\
kernel-module-ip-set \
"