diff options
Diffstat (limited to 'meta-networking/recipes-filter/ipset')
-rw-r--r-- | meta-networking/recipes-filter/ipset/ipset/0001-ipset-Define-portable-basename-function.patch | 50 | ||||
-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 \ " |