summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/iproute2
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-connectivity/iproute2')
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch24
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch39
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_5.8.0.bb12
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_6.8.0.bb (renamed from meta/recipes-connectivity/iproute2/iproute2.inc)68
4 files changed, 48 insertions, 95 deletions
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch
deleted file mode 100644
index fdd8bbfb3c..0000000000
--- a/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From ce39396d4617874323f6039a5b476e44bf552908 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Sat, 6 Jun 2020 18:00:13 +0000
-Subject: [PATCH] devlink.c: add missing include
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- devlink/devlink.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/devlink/devlink.c b/devlink/devlink.c
-index 0982fae..93dc01c 100644
---- a/devlink/devlink.c
-+++ b/devlink/devlink.c
-@@ -33,6 +33,7 @@
- #include <sys/select.h>
- #include <sys/socket.h>
- #include <sys/types.h>
-+#include <signal.h>
-
- #include "version.h"
- #include "list.h"
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch
deleted file mode 100644
index 74e3de1ce9..0000000000
--- a/meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From c25f8d1f7a6203dfeb10b39f80ffd314bb84a58d Mon Sep 17 00:00:00 2001
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Thu, 22 Dec 2016 15:26:30 +0200
-Subject: [PATCH] libc-compat.h: add musl workaround
-
-The libc-compat.h kernel header uses glibc specific macros (__GLIBC__ and
-__USE_MISC) to solve conflicts with libc provided headers. This patch makes
-libc-compat.h work for musl libc as well.
-
-Upstream-Status: Pending
-
-Taken From:
-https://git.buildroot.net/buildroot/tree/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
-
----
- include/uapi/linux/libc-compat.h | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h
-index a159991..22198fa 100644
---- a/include/uapi/linux/libc-compat.h
-+++ b/include/uapi/linux/libc-compat.h
-@@ -50,10 +50,12 @@
- #define _LIBC_COMPAT_H
-
- /* We have included glibc headers... */
--#if defined(__GLIBC__)
-+#if 1
-+#define __USE_MISC
-
- /* Coordinate with glibc net/if.h header. */
- #if defined(_NET_IF_H) && defined(__USE_MISC)
-+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
-
- /* GLIBC headers included first so don't define anything
- * that would already be defined. */
diff --git a/meta/recipes-connectivity/iproute2/iproute2_5.8.0.bb b/meta/recipes-connectivity/iproute2/iproute2_5.8.0.bb
deleted file mode 100644
index 3a590f9122..0000000000
--- a/meta/recipes-connectivity/iproute2/iproute2_5.8.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require iproute2.inc
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
- file://0001-libc-compat.h-add-musl-workaround.patch \
- file://0001-devlink.c-add-missing-include.patch \
- "
-
-SRC_URI[sha256sum] = "cfcd1f890290f8c8afcc91d9444ad929b9252c16f9ab3f286c50dd3c59dc646e"
-
-# CFLAGS are computed in Makefile and reference CCOPTS
-#
-EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'"
diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc b/meta/recipes-connectivity/iproute2/iproute2_6.8.0.bb
index 403d264308..24539e3d99 100644
--- a/meta/recipes-connectivity/iproute2/iproute2.inc
+++ b/meta/recipes-connectivity/iproute2/iproute2_6.8.0.bb
@@ -5,31 +5,43 @@ 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 = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
- file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817"
+ "
DEPENDS = "flex-native bison-native iptables libcap"
-inherit update-alternatives bash-completion pkgconfig
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz"
+
+SRC_URI[sha256sum] = "03a6cca3d71a908d1f15f7b495be2b8fe851f941458dc4664900d7f45fcf68ce"
-CLEANBROKEN = "1"
+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)}"
+# This is needed with GCC-14 and musl
+CFLAGS += "-Wno-error=incompatible-pointer-types"
+# CFLAGS are computed in Makefile and reference CCOPTS
+#
EXTRA_OEMAKE = "\
CC='${CC}' \
KERNEL_INCLUDE=${STAGING_INCDIR} \
DOCDIR=${docdir}/iproute2 \
- SUBDIRS='lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc', d)}' \
+ SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \
SBINDIR='${base_sbindir}' \
+ CONF_USR_DIR='${libdir}/iproute2' \
LIBDIR='${libdir}' \
+ CCOPTS='${CFLAGS}' \
"
-do_configure_append () {
+do_configure:append () {
sh configure ${STAGING_INCDIR}
# Explicitly disable ATM support
sed -i -e '/TC_CONFIG_ATM/d' config.mk
@@ -41,41 +53,57 @@ do_install () {
install -d ${D}${datadir}
mv ${D}/share/* ${D}${datadir}/ || true
rm ${D}/share -rf || true
+
+ # Remove support fot ipt and xt in tc. So tc library directory is not needed.
+ rm ${D}${libdir}/tc -rf
}
# The .so files in iproute2-tc are modules, not traditional libraries
-INSANE_SKIP_${PN}-tc = "dev-so"
+INSANE_SKIP:${PN}-tc = "dev-so"
-PACKAGES =+ "\
+IPROUTE2_PACKAGES =+ "\
+ ${PN}-bridge \
${PN}-devlink \
${PN}-genl \
${PN}-ifstat \
+ ${PN}-ip \
${PN}-lnstat \
${PN}-nstat \
+ ${PN}-routel \
${PN}-rtacct \
${PN}-ss \
${PN}-tc \
${PN}-tipc \
+ ${PN}-rdma \
"
-FILES_${PN}-tc = "${base_sbindir}/tc* \
+PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}"
+RDEPENDS:${PN} += "${PN}-ip"
+
+FILES:${PN}-tc = "${base_sbindir}/tc* \
${libdir}/tc/*.so"
-FILES_${PN}-lnstat = "${base_sbindir}/lnstat \
+FILES:${PN}-lnstat = "${base_sbindir}/lnstat \
${base_sbindir}/ctstat \
${base_sbindir}/rtstat"
-FILES_${PN}-ifstat = "${base_sbindir}/ifstat"
-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"
-
-ALTERNATIVE_${PN} = "ip"
+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"
+FILES:${PN}-bridge = "${base_sbindir}/bridge"
+
+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:${PN}-tc = "tc"
ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc"
ALTERNATIVE_PRIORITY_${PN}-tc = "100"