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-libc-compat.h-add-musl-workaround.patch39
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb11
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_6.8.0.bb (renamed from meta/recipes-connectivity/iproute2/iproute2.inc)58
3 files changed, 37 insertions, 71 deletions
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 @@
1From c25f8d1f7a6203dfeb10b39f80ffd314bb84a58d Mon Sep 17 00:00:00 2001
2From: Baruch Siach <baruch@tkos.co.il>
3Date: Thu, 22 Dec 2016 15:26:30 +0200
4Subject: [PATCH] libc-compat.h: add musl workaround
5
6The libc-compat.h kernel header uses glibc specific macros (__GLIBC__ and
7__USE_MISC) to solve conflicts with libc provided headers. This patch makes
8libc-compat.h work for musl libc as well.
9
10Upstream-Status: Pending
11
12Taken From:
13https://git.buildroot.net/buildroot/tree/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch
14
15Signed-off-by: Baruch Siach <baruch@tkos.co.il>
16Signed-off-by: Maxin B. John <maxin.john@intel.com>
17
18---
19 include/uapi/linux/libc-compat.h | 4 +++-
20 1 file changed, 3 insertions(+), 1 deletion(-)
21
22diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h
23index a159991..22198fa 100644
24--- a/include/uapi/linux/libc-compat.h
25+++ b/include/uapi/linux/libc-compat.h
26@@ -50,10 +50,12 @@
27 #define _LIBC_COMPAT_H
28
29 /* We have included glibc headers... */
30-#if defined(__GLIBC__)
31+#if 1
32+#define __USE_MISC
33
34 /* Coordinate with glibc net/if.h header. */
35 #if defined(_NET_IF_H) && defined(__USE_MISC)
36+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
37
38 /* GLIBC headers included first so don't define anything
39 * that would already be defined. */
diff --git a/meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb b/meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb
deleted file mode 100644
index e27b42d232..0000000000
--- a/meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1require iproute2.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
4 file://0001-libc-compat.h-add-musl-workaround.patch \
5 "
6
7SRC_URI[sha256sum] = "c5e2ea108212b3445051b35953ec267f9f3469e1d5c67ac034ab559849505c54"
8
9# CFLAGS are computed in Makefile and reference CCOPTS
10#
11EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'"
diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc b/meta/recipes-connectivity/iproute2/iproute2_6.8.0.bb
index 6c8eea6799..68f7611943 100644
--- a/meta/recipes-connectivity/iproute2/iproute2.inc
+++ b/meta/recipes-connectivity/iproute2/iproute2_6.8.0.bb
@@ -5,34 +5,41 @@ and tc are the most important. ip controls IPv4 and IPv6 \
5configuration and tc stands for traffic control." 5configuration and tc stands for traffic control."
6HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" 6HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
7SECTION = "base" 7SECTION = "base"
8LICENSE = "GPLv2+" 8LICENSE = "GPL-2.0-or-later"
9LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ 9LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
10 file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817" 10 "
11 11
12DEPENDS = "flex-native bison-native iptables libcap" 12DEPENDS = "flex-native bison-native iptables libcap"
13 13
14inherit update-alternatives bash-completion pkgconfig 14SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz"
15
16SRC_URI[sha256sum] = "03a6cca3d71a908d1f15f7b495be2b8fe851f941458dc4664900d7f45fcf68ce"
15 17
16CLEANBROKEN = "1" 18inherit update-alternatives bash-completion pkgconfig
17 19
18PACKAGECONFIG ??= "tipc elf devlink" 20PACKAGECONFIG ??= "tipc elf devlink"
19PACKAGECONFIG[tipc] = ",,libmnl," 21PACKAGECONFIG[tipc] = ",,libmnl,"
20PACKAGECONFIG[elf] = ",,elfutils," 22PACKAGECONFIG[elf] = ",,elfutils,"
21PACKAGECONFIG[devlink] = ",,libmnl," 23PACKAGECONFIG[devlink] = ",,libmnl,"
22PACKAGECONFIG[rdma] = ",,libmnl," 24PACKAGECONFIG[rdma] = ",,libmnl,"
25PACKAGECONFIG[selinux] = ",,libselinux"
23 26
24IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}" 27IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}"
25 28
29# CFLAGS are computed in Makefile and reference CCOPTS
30#
26EXTRA_OEMAKE = "\ 31EXTRA_OEMAKE = "\
27 CC='${CC}' \ 32 CC='${CC}' \
28 KERNEL_INCLUDE=${STAGING_INCDIR} \ 33 KERNEL_INCLUDE=${STAGING_INCDIR} \
29 DOCDIR=${docdir}/iproute2 \ 34 DOCDIR=${docdir}/iproute2 \
30 SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \ 35 SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \
31 SBINDIR='${base_sbindir}' \ 36 SBINDIR='${base_sbindir}' \
37 CONF_USR_DIR='${libdir}/iproute2' \
32 LIBDIR='${libdir}' \ 38 LIBDIR='${libdir}' \
39 CCOPTS='${CFLAGS}' \
33" 40"
34 41
35do_configure_append () { 42do_configure:append () {
36 sh configure ${STAGING_INCDIR} 43 sh configure ${STAGING_INCDIR}
37 # Explicitly disable ATM support 44 # Explicitly disable ATM support
38 sed -i -e '/TC_CONFIG_ATM/d' config.mk 45 sed -i -e '/TC_CONFIG_ATM/d' config.mk
@@ -44,18 +51,23 @@ do_install () {
44 install -d ${D}${datadir} 51 install -d ${D}${datadir}
45 mv ${D}/share/* ${D}${datadir}/ || true 52 mv ${D}/share/* ${D}${datadir}/ || true
46 rm ${D}/share -rf || true 53 rm ${D}/share -rf || true
54
55 # Remove support fot ipt and xt in tc. So tc library directory is not needed.
56 rm ${D}${libdir}/tc -rf
47} 57}
48 58
49# The .so files in iproute2-tc are modules, not traditional libraries 59# The .so files in iproute2-tc are modules, not traditional libraries
50INSANE_SKIP_${PN}-tc = "dev-so" 60INSANE_SKIP:${PN}-tc = "dev-so"
51 61
52IPROUTE2_PACKAGES =+ "\ 62IPROUTE2_PACKAGES =+ "\
63 ${PN}-bridge \
53 ${PN}-devlink \ 64 ${PN}-devlink \
54 ${PN}-genl \ 65 ${PN}-genl \
55 ${PN}-ifstat \ 66 ${PN}-ifstat \
56 ${PN}-ip \ 67 ${PN}-ip \
57 ${PN}-lnstat \ 68 ${PN}-lnstat \
58 ${PN}-nstat \ 69 ${PN}-nstat \
70 ${PN}-routel \
59 ${PN}-rtacct \ 71 ${PN}-rtacct \
60 ${PN}-ss \ 72 ${PN}-ss \
61 ${PN}-tc \ 73 ${PN}-tc \
@@ -64,28 +76,32 @@ IPROUTE2_PACKAGES =+ "\
64" 76"
65 77
66PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}" 78PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}"
67RDEPENDS_${PN} += "${PN}-ip" 79RDEPENDS:${PN} += "${PN}-ip"
68 80
69FILES_${PN}-tc = "${base_sbindir}/tc* \ 81FILES:${PN}-tc = "${base_sbindir}/tc* \
70 ${libdir}/tc/*.so" 82 ${libdir}/tc/*.so"
71FILES_${PN}-lnstat = "${base_sbindir}/lnstat \ 83FILES:${PN}-lnstat = "${base_sbindir}/lnstat \
72 ${base_sbindir}/ctstat \ 84 ${base_sbindir}/ctstat \
73 ${base_sbindir}/rtstat" 85 ${base_sbindir}/rtstat"
74FILES_${PN}-ifstat = "${base_sbindir}/ifstat" 86FILES:${PN}-ifstat = "${base_sbindir}/ifstat"
75FILES_${PN}-ip = "${base_sbindir}/ip.${PN} ${sysconfdir}/iproute2" 87FILES:${PN}-ip = "${base_sbindir}/ip.* ${libdir}/iproute2"
76FILES_${PN}-genl = "${base_sbindir}/genl" 88FILES:${PN}-genl = "${base_sbindir}/genl"
77FILES_${PN}-rtacct = "${base_sbindir}/rtacct" 89FILES:${PN}-rtacct = "${base_sbindir}/rtacct"
78FILES_${PN}-nstat = "${base_sbindir}/nstat" 90FILES:${PN}-nstat = "${base_sbindir}/nstat"
79FILES_${PN}-ss = "${base_sbindir}/ss" 91FILES:${PN}-ss = "${base_sbindir}/ss"
80FILES_${PN}-tipc = "${base_sbindir}/tipc" 92FILES:${PN}-tipc = "${base_sbindir}/tipc"
81FILES_${PN}-devlink = "${base_sbindir}/devlink" 93FILES:${PN}-devlink = "${base_sbindir}/devlink"
82FILES_${PN}-rdma = "${base_sbindir}/rdma" 94FILES:${PN}-rdma = "${base_sbindir}/rdma"
83 95FILES:${PN}-routel = "${base_sbindir}/routel"
84ALTERNATIVE_${PN}-ip = "ip" 96FILES:${PN}-bridge = "${base_sbindir}/bridge"
97
98RDEPENDS:${PN}-routel = "python3-core"
99
100ALTERNATIVE:${PN}-ip = "ip"
85ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}" 101ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
86ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip" 102ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
87ALTERNATIVE_PRIORITY = "100" 103ALTERNATIVE_PRIORITY = "100"
88 104
89ALTERNATIVE_${PN}-tc = "tc" 105ALTERNATIVE:${PN}-tc = "tc"
90ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc" 106ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc"
91ALTERNATIVE_PRIORITY_${PN}-tc = "100" 107ALTERNATIVE_PRIORITY_${PN}-tc = "100"