From 3f08151bf460b0deeb05ca6984e284042b4dfd43 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 15 Mar 2024 14:43:03 -0700 Subject: frr: Fix build on newer musl provide GNU like basename on non-glibc systems Signed-off-by: Khem Raj --- ...-GNU-basename-API-for-non-glibc-library-e.patch | 34 ++++++++++++++++++++++ meta-networking/recipes-protocols/frr/frr_9.1.bb | 1 + 2 files changed, 35 insertions(+) create mode 100644 meta-networking/recipes-protocols/frr/frr/0001-zebra-Mimic-GNU-basename-API-for-non-glibc-library-e.patch (limited to 'meta-networking') diff --git a/meta-networking/recipes-protocols/frr/frr/0001-zebra-Mimic-GNU-basename-API-for-non-glibc-library-e.patch b/meta-networking/recipes-protocols/frr/frr/0001-zebra-Mimic-GNU-basename-API-for-non-glibc-library-e.patch new file mode 100644 index 0000000000..8c83d5c8eb --- /dev/null +++ b/meta-networking/recipes-protocols/frr/frr/0001-zebra-Mimic-GNU-basename-API-for-non-glibc-library-e.patch @@ -0,0 +1,34 @@ +From 49aeccbec4bf620bb594999bbd4a9de669a3984c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 15 Mar 2024 14:34:06 -0700 +Subject: [PATCH] zebra: Mimic GNU basename() API for non-glibc library e.g. + musl musl only provides POSIX version of basename and it has also removed + providing it via string.h header [1] which now results in compile errors with + newer compilers e.g. clang-18 + +[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 + +Upstream-Status: Submitted [https://github.com/FRRouting/frr/pull/15561/] +Signed-off-by: Khem Raj +--- + zebra/zebra_netns_notify.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/zebra/zebra_netns_notify.c b/zebra/zebra_netns_notify.c +index 1bb1292e34..d55df2f62d 100644 +--- a/zebra/zebra_netns_notify.c ++++ b/zebra/zebra_netns_notify.c +@@ -41,6 +41,10 @@ + #define ZEBRA_NS_POLLING_INTERVAL_MSEC 1000 + #define ZEBRA_NS_POLLING_MAX_RETRIES 200 + ++#if !defined(__GLIBC__) ++#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src) ++#endif ++ + DEFINE_MTYPE_STATIC(ZEBRA, NETNS_MISC, "ZebraNetNSInfo"); + static struct event *zebra_netns_notify_current; + +-- +2.44.0 + diff --git a/meta-networking/recipes-protocols/frr/frr_9.1.bb b/meta-networking/recipes-protocols/frr/frr_9.1.bb index bc9fc4f21a..eea6d62f5f 100644 --- a/meta-networking/recipes-protocols/frr/frr_9.1.bb +++ b/meta-networking/recipes-protocols/frr/frr_9.1.bb @@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://doc/licenses/GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a SRC_URI = "git://github.com/FRRouting/frr.git;protocol=https;branch=stable/9.1 \ file://frr.pam \ + file://0001-zebra-Mimic-GNU-basename-API-for-non-glibc-library-e.patch \ " SRCREV = "ca2d6f0f1e000951224a18973cc1827f7f5215b5" -- cgit v1.2.3-54-g00ecf