From c88d6e94c0df3079410930abff9af0a08930ec8c Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 22 Sep 2023 09:24:09 +0200 Subject: iproute2: upgrade 6.4.0 -> 6.5.0 Set CONF_USR_DIR explicitly as upstream hardcodes 'lib' in it. Fix up iproute2-ip packaging to reflect that, and fix multilib error where the executable would end up in the main package. Signed-off-by: Alexander Kanavin Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- .../0001-bridge-mdb.c-include-limits.h.patch | 41 -------- .../iproute2/iproute2_6.4.0.bb | 104 --------------------- .../iproute2/iproute2_6.5.0.bb | 104 +++++++++++++++++++++ 3 files changed, 104 insertions(+), 145 deletions(-) delete mode 100644 meta/recipes-connectivity/iproute2/iproute2/0001-bridge-mdb.c-include-limits.h.patch delete mode 100644 meta/recipes-connectivity/iproute2/iproute2_6.4.0.bb create mode 100644 meta/recipes-connectivity/iproute2/iproute2_6.5.0.bb (limited to 'meta/recipes-connectivity') diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-bridge-mdb.c-include-limits.h.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-bridge-mdb.c-include-limits.h.patch deleted file mode 100644 index f9a0e35d83..0000000000 --- a/meta/recipes-connectivity/iproute2/iproute2/0001-bridge-mdb.c-include-limits.h.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b13f04c0c685b6d2474aa7d97e191531f327bc45 Mon Sep 17 00:00:00 2001 -From: Trevor Gamblin -Date: Thu, 20 Jul 2023 14:32:23 -0400 -Subject: [PATCH] bridge/mdb.c: include limits.h - -Upstream-Status: Submitted -(https://lore.kernel.org/netdev/20230720203726.2316251-1-tgamblin@baylibre.com/) - -While building iproute2 6.4.0 with musl using Yocto Project, errors such -as the following were encountered: - -| mdb.c: In function 'mdb_parse_vni': -| mdb.c:666:47: error: 'ULONG_MAX' undeclared (first use in this function) -| 666 | if ((endptr && *endptr) || vni_num == ULONG_MAX) -| | ^~~~~~~~~ -| mdb.c:666:47: note: 'ULONG_MAX' is defined in header ''; did you forget to '#include '? - -Include limits.h in bridge/mdb.c to fix this issue. This change is based -on one in Alpine Linux, but the author there had no plans to submit: -https://git.alpinelinux.org/aports/commit/main/iproute2/include.patch?id=bd46efb8a8da54948639cebcfa5b37bd608f1069 - -Signed-off-by: Trevor Gamblin ---- - bridge/mdb.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/bridge/mdb.c b/bridge/mdb.c -index fbb4f704..18793458 100644 ---- a/bridge/mdb.c -+++ b/bridge/mdb.c -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - - #include "libnetlink.h" - #include "utils.h" --- -2.41.0 - diff --git a/meta/recipes-connectivity/iproute2/iproute2_6.4.0.bb b/meta/recipes-connectivity/iproute2/iproute2_6.4.0.bb deleted file mode 100644 index 32e2f8176b..0000000000 --- a/meta/recipes-connectivity/iproute2/iproute2_6.4.0.bb +++ /dev/null @@ -1,104 +0,0 @@ -SUMMARY = "TCP / IP networking and traffic control utilities" -DESCRIPTION = "Iproute2 is a collection of utilities for controlling \ -TCP / IP networking and traffic control in Linux. Of the utilities ip \ -and tc are the most important. ip controls IPv4 and IPv6 \ -configuration and tc stands for traffic control." -HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ - " - -DEPENDS = "flex-native bison-native iptables libcap" - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ - file://0001-libc-compat.h-add-musl-workaround.patch \ - file://0001-bridge-mdb.c-include-limits.h.patch \ - " - -SRC_URI[sha256sum] = "4c51b8decbc7e4da159ffb066f590cfb93dbf9af7ff86b1647ce42b7c179a272" - -inherit update-alternatives bash-completion pkgconfig - -PACKAGECONFIG ??= "tipc elf devlink" -PACKAGECONFIG[tipc] = ",,libmnl," -PACKAGECONFIG[elf] = ",,elfutils," -PACKAGECONFIG[devlink] = ",,libmnl," -PACKAGECONFIG[rdma] = ",,libmnl," -PACKAGECONFIG[selinux] = ",,libselinux" - -IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}" - -# CFLAGS are computed in Makefile and reference CCOPTS -# -EXTRA_OEMAKE = "\ - CC='${CC}' \ - KERNEL_INCLUDE=${STAGING_INCDIR} \ - DOCDIR=${docdir}/iproute2 \ - SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \ - SBINDIR='${base_sbindir}' \ - LIBDIR='${libdir}' \ - CCOPTS='${CFLAGS}' \ -" - -do_configure:append () { - sh configure ${STAGING_INCDIR} - # Explicitly disable ATM support - sed -i -e '/TC_CONFIG_ATM/d' config.mk -} - -do_install () { - oe_runmake DESTDIR=${D} install - mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2 - install -d ${D}${datadir} - mv ${D}/share/* ${D}${datadir}/ || true - rm ${D}/share -rf || true -} - -# The .so files in iproute2-tc are modules, not traditional libraries -INSANE_SKIP:${PN}-tc = "dev-so" - -IPROUTE2_PACKAGES =+ "\ - ${PN}-devlink \ - ${PN}-genl \ - ${PN}-ifstat \ - ${PN}-ip \ - ${PN}-lnstat \ - ${PN}-nstat \ - ${PN}-routel \ - ${PN}-rtacct \ - ${PN}-ss \ - ${PN}-tc \ - ${PN}-tipc \ - ${PN}-rdma \ -" - -PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}" -RDEPENDS:${PN} += "${PN}-ip" - -FILES:${PN}-tc = "${base_sbindir}/tc* \ - ${libdir}/tc/*.so" -FILES:${PN}-lnstat = "${base_sbindir}/lnstat \ - ${base_sbindir}/ctstat \ - ${base_sbindir}/rtstat" -FILES:${PN}-ifstat = "${base_sbindir}/ifstat" -FILES:${PN}-ip = "${base_sbindir}/ip.${PN} ${sysconfdir}/iproute2" -FILES:${PN}-genl = "${base_sbindir}/genl" -FILES:${PN}-rtacct = "${base_sbindir}/rtacct" -FILES:${PN}-nstat = "${base_sbindir}/nstat" -FILES:${PN}-ss = "${base_sbindir}/ss" -FILES:${PN}-tipc = "${base_sbindir}/tipc" -FILES:${PN}-devlink = "${base_sbindir}/devlink" -FILES:${PN}-rdma = "${base_sbindir}/rdma" -FILES:${PN}-routel = "${base_sbindir}/routel" - -RDEPENDS:${PN}-routel = "python3-core" - -ALTERNATIVE:${PN}-ip = "ip" -ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}" -ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip" -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE:${PN}-tc = "tc" -ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc" -ALTERNATIVE_PRIORITY_${PN}-tc = "100" diff --git a/meta/recipes-connectivity/iproute2/iproute2_6.5.0.bb b/meta/recipes-connectivity/iproute2/iproute2_6.5.0.bb new file mode 100644 index 0000000000..2b28b10c20 --- /dev/null +++ b/meta/recipes-connectivity/iproute2/iproute2_6.5.0.bb @@ -0,0 +1,104 @@ +SUMMARY = "TCP / IP networking and traffic control utilities" +DESCRIPTION = "Iproute2 is a collection of utilities for controlling \ +TCP / IP networking and traffic control in Linux. Of the utilities ip \ +and tc are the most important. ip controls IPv4 and IPv6 \ +configuration and tc stands for traffic control." +HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ + " + +DEPENDS = "flex-native bison-native iptables libcap" + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ + file://0001-libc-compat.h-add-musl-workaround.patch \ + " + +SRC_URI[sha256sum] = "a70179085fa1b96d3c33b040c809b75e2b57563adc505a4ad05e2609df373463" + +inherit update-alternatives bash-completion pkgconfig + +PACKAGECONFIG ??= "tipc elf devlink" +PACKAGECONFIG[tipc] = ",,libmnl," +PACKAGECONFIG[elf] = ",,elfutils," +PACKAGECONFIG[devlink] = ",,libmnl," +PACKAGECONFIG[rdma] = ",,libmnl," +PACKAGECONFIG[selinux] = ",,libselinux" + +IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}" + +# CFLAGS are computed in Makefile and reference CCOPTS +# +EXTRA_OEMAKE = "\ + CC='${CC}' \ + KERNEL_INCLUDE=${STAGING_INCDIR} \ + DOCDIR=${docdir}/iproute2 \ + SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \ + SBINDIR='${base_sbindir}' \ + CONF_USR_DIR='${libdir}/iproute2' \ + LIBDIR='${libdir}' \ + CCOPTS='${CFLAGS}' \ +" + +do_configure:append () { + sh configure ${STAGING_INCDIR} + # Explicitly disable ATM support + sed -i -e '/TC_CONFIG_ATM/d' config.mk +} + +do_install () { + oe_runmake DESTDIR=${D} install + mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2 + install -d ${D}${datadir} + mv ${D}/share/* ${D}${datadir}/ || true + rm ${D}/share -rf || true +} + +# The .so files in iproute2-tc are modules, not traditional libraries +INSANE_SKIP:${PN}-tc = "dev-so" + +IPROUTE2_PACKAGES =+ "\ + ${PN}-devlink \ + ${PN}-genl \ + ${PN}-ifstat \ + ${PN}-ip \ + ${PN}-lnstat \ + ${PN}-nstat \ + ${PN}-routel \ + ${PN}-rtacct \ + ${PN}-ss \ + ${PN}-tc \ + ${PN}-tipc \ + ${PN}-rdma \ +" + +PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}" +RDEPENDS:${PN} += "${PN}-ip" + +FILES:${PN}-tc = "${base_sbindir}/tc* \ + ${libdir}/tc/*.so" +FILES:${PN}-lnstat = "${base_sbindir}/lnstat \ + ${base_sbindir}/ctstat \ + ${base_sbindir}/rtstat" +FILES:${PN}-ifstat = "${base_sbindir}/ifstat" +FILES:${PN}-ip = "${base_sbindir}/ip.* ${libdir}/iproute2" +FILES:${PN}-genl = "${base_sbindir}/genl" +FILES:${PN}-rtacct = "${base_sbindir}/rtacct" +FILES:${PN}-nstat = "${base_sbindir}/nstat" +FILES:${PN}-ss = "${base_sbindir}/ss" +FILES:${PN}-tipc = "${base_sbindir}/tipc" +FILES:${PN}-devlink = "${base_sbindir}/devlink" +FILES:${PN}-rdma = "${base_sbindir}/rdma" +FILES:${PN}-routel = "${base_sbindir}/routel" + +RDEPENDS:${PN}-routel = "python3-core" + +ALTERNATIVE:${PN}-ip = "ip" +ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}" +ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip" +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE:${PN}-tc = "tc" +ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc" +ALTERNATIVE_PRIORITY_${PN}-tc = "100" -- cgit 1.2.3-korg