diff options
Diffstat (limited to 'meta/recipes-connectivity/iproute2')
7 files changed, 142 insertions, 242 deletions
diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc b/meta/recipes-connectivity/iproute2/iproute2.inc deleted file mode 100644 index 63e7ca9e83..0000000000 --- a/meta/recipes-connectivity/iproute2/iproute2.inc +++ /dev/null @@ -1,48 +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 = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ - file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817" - -DEPENDS = "flex-native bison-native iptables elfutils" - -inherit update-alternatives bash-completion - -EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip bridge misc genl' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'" - -do_configure_append () { - sh configure ${STAGING_INCDIR} - # Explicitly disable ATM support - sed -i -e '/TC_CONFIG_ATM/d' Config -} - -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" - -PACKAGES =+ "${PN}-tc ${PN}-lnstat ${PN}-ifstat ${PN}-genl ${PN}-rtacct ${PN}-nstat ${PN}-ss" -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}-genl = "${base_sbindir}/genl" -FILES_${PN}-rtacct = "${base_sbindir}/rtacct" -FILES_${PN}-nstat = "${base_sbindir}/nstat" -FILES_${PN}-ss = "${base_sbindir}/ss" - -ALTERNATIVE_${PN} = "ip" -ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}" -ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip" -ALTERNATIVE_PRIORITY = "100" diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch deleted file mode 100644 index 39c7d40319..0000000000 --- a/meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch +++ /dev/null @@ -1,64 +0,0 @@ -Subject: [PATCH] iproute2: de-bash scripts - -de-bash these two scripts to make iproute2 not depend on bash. - -Upstream-Status: Pending - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - ---- - ip/ifcfg | 15 ++++++++------- - ip/rtpr | 2 +- - 2 files changed, 9 insertions(+), 8 deletions(-) - -diff --git a/ip/ifcfg b/ip/ifcfg -index 083d9df..60bcf1f 100644 ---- a/ip/ifcfg -+++ b/ip/ifcfg -@@ -1,12 +1,13 @@ --#! /bin/bash -+#! /bin/sh - - CheckForwarding () { -- local sbase fwd -+ local sbase fwd forwarding - sbase=/proc/sys/net/ipv4/conf - fwd=0 - if [ -d $sbase ]; then - for dir in $sbase/*/forwarding; do -- fwd=$[$fwd + `cat $dir`] -+ forwarding=`cat $dir` -+ fwd=$(($fwd+$forwarding)) - done - else - fwd=2 -@@ -127,12 +128,12 @@ fi - arping -q -A -c 1 -I $dev $ipaddr - noarp=$? - ( sleep 2 ; -- arping -q -U -c 1 -I $dev $ipaddr ) >& /dev/null </dev/null & -+ arping -q -U -c 1 -I $dev $ipaddr ) > /dev/null 2>&1 </dev/null & - --ip route add unreachable 224.0.0.0/24 >& /dev/null --ip route add unreachable 255.255.255.255 >& /dev/null -+ip route add unreachable 224.0.0.0/24 > /dev/null 2>&1 -+ip route add unreachable 255.255.255.255 > /dev/null 2>&1 - if [ `ip link ls $dev | grep -c MULTICAST` -ge 1 ]; then -- ip route add 224.0.0.0/4 dev $dev scope global >& /dev/null -+ ip route add 224.0.0.0/4 dev $dev scope global > /dev/null 2>&1 - fi - - if [ $fwd -eq 0 ]; then -diff --git a/ip/rtpr b/ip/rtpr -index c3629fd..674198d 100644 ---- a/ip/rtpr -+++ b/ip/rtpr -@@ -1,4 +1,4 @@ --#! /bin/bash -+#! /bin/sh - - exec tr "[\\\\]" "[ - ]" --- -1.7.9.5 - 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 new file mode 100644 index 0000000000..74e3de1ce9 --- /dev/null +++ b/meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch @@ -0,0 +1,39 @@ +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/configure-cross.patch b/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch deleted file mode 100644 index 866609ca99..0000000000 --- a/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 85b0589b4843c03e8e6fd9416d71ea449a73c5c0 Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@dominion.thruhere.net> -Date: Thu, 3 Nov 2011 10:46:16 +0100 -Subject: [PATCH] make configure cross compile safe - -According to Kevin Tian: -Upstream-Status: Pending - -Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> -Signed-off-by: Shane Wang <shane.wang@intel.com> - -Index: iproute2-3.7.0/configure -=================================================================== ---- iproute2-3.7.0.orig/configure -+++ iproute2-3.7.0/configure -@@ -2,6 +2,7 @@ - # This is not an autconf generated configure - # - INCLUDE=${1:-"$PWD/include"} -+SYSROOT=$1 - - # Make a temp directory in build tree. - TMPDIR=$(mktemp -d config.XXXXXX) -@@ -158,7 +159,7 @@ check_ipt_lib_dir() - return - fi - -- for dir in /lib /usr/lib /usr/local/lib -+ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib - do - for file in $dir/{xtables,iptables}/lib*t_*so ; do - if [ -f $file ]; then diff --git a/meta/recipes-connectivity/iproute2/iproute2/iproute2-4.3.0-musl.patch b/meta/recipes-connectivity/iproute2/iproute2/iproute2-4.3.0-musl.patch deleted file mode 100644 index 8c078f69d0..0000000000 --- a/meta/recipes-connectivity/iproute2/iproute2/iproute2-4.3.0-musl.patch +++ /dev/null @@ -1,85 +0,0 @@ -Subject: [PATCH] Avoid in6_addr redefinition - -Due to both <netinet/in.h> and <linux/in6.h> being included, the -in6_addr is being redefined: once from the C library headers and once -from the kernel headers. This causes some build failures with for -example the musl C library. - -In order to fix this, use just the C library header <netinet/in.h>. -Original patch taken from -http://git.alpinelinux.org/cgit/aports/tree/main/iproute2/musl-fixes.patch. - -(Refreshed the patch for 4.6 release) - -Upstream-Status: Pending - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Signed-off-by: Maxin B. John <maxin.john@intel.com> ----- -diff -Naur iproute2-4.6.0-orig/include/libiptc/ipt_kernel_headers.h iproute2-4.6.0/include/libiptc/ipt_kernel_headers.h ---- iproute2-4.6.0-orig/include/libiptc/ipt_kernel_headers.h 2016-05-23 12:03:23.821826910 +0300 -+++ iproute2-4.6.0/include/libiptc/ipt_kernel_headers.h 2016-05-23 12:04:23.714078154 +0300 -@@ -6,7 +6,6 @@ - #include <limits.h> - - #include <netinet/ip.h> --#include <netinet/in.h> - #include <netinet/ip_icmp.h> - #include <netinet/tcp.h> - #include <netinet/udp.h> -diff -Naur iproute2-4.6.0-orig/include/linux/if_bridge.h iproute2-4.6.0/include/linux/if_bridge.h ---- iproute2-4.6.0-orig/include/linux/if_bridge.h 2016-05-23 12:03:23.821826910 +0300 -+++ iproute2-4.6.0/include/linux/if_bridge.h 2016-05-23 12:04:23.716078129 +0300 -@@ -15,7 +15,6 @@ - - #include <linux/types.h> - #include <linux/if_ether.h> --#include <linux/in6.h> - - #define SYSFS_BRIDGE_ATTR "bridge" - #define SYSFS_BRIDGE_FDB "brforward" -diff -Naur iproute2-4.6.0-orig/include/linux/netfilter.h iproute2-4.6.0/include/linux/netfilter.h ---- iproute2-4.6.0-orig/include/linux/netfilter.h 2016-05-23 12:03:23.821826910 +0300 -+++ iproute2-4.6.0/include/linux/netfilter.h 2016-05-23 12:04:23.717078117 +0300 -@@ -4,8 +4,6 @@ - #include <linux/types.h> - - #include <linux/sysctl.h> --#include <linux/in.h> --#include <linux/in6.h> - - /* Responses from hook functions. */ - #define NF_DROP 0 -diff -Naur iproute2-4.6.0-orig/include/linux/netfilter_ipv4/ip_tables.h iproute2-4.6.0/include/linux/netfilter_ipv4/ip_tables.h ---- iproute2-4.6.0-orig/include/linux/netfilter_ipv4/ip_tables.h 2016-05-18 21:56:02.000000000 +0300 -+++ iproute2-4.6.0/include/linux/netfilter_ipv4/ip_tables.h 2016-05-23 12:09:22.888337961 +0300 -@@ -17,7 +17,6 @@ - - #include <linux/types.h> - --#include <linux/if.h> - #include <linux/netfilter_ipv4.h> - - #include <linux/netfilter/x_tables.h> -diff -Naur iproute2-4.6.0-orig/include/linux/xfrm.h iproute2-4.6.0/include/linux/xfrm.h ---- iproute2-4.6.0-orig/include/linux/xfrm.h 2016-05-23 12:03:23.821826910 +0300 -+++ iproute2-4.6.0/include/linux/xfrm.h 2016-05-23 12:04:23.718078104 +0300 -@@ -1,7 +1,6 @@ - #ifndef _LINUX_XFRM_H - #define _LINUX_XFRM_H - --#include <linux/in6.h> - #include <linux/types.h> - - /* All of the structures in this file may not change size as they are -diff -Naur iproute2-4.6.0-orig/include/utils.h iproute2-4.6.0/include/utils.h ---- iproute2-4.6.0-orig/include/utils.h 2016-05-23 12:03:23.821826910 +0300 -+++ iproute2-4.6.0/include/utils.h 2016-05-23 12:04:23.718078104 +0300 -@@ -1,6 +1,7 @@ - #ifndef __UTILS_H__ - #define __UTILS_H__ 1 - -+#include <sys/param.h> /* MAXPATHLEN */ - #include <sys/types.h> - #include <asm/types.h> - #include <resolv.h> diff --git a/meta/recipes-connectivity/iproute2/iproute2_4.6.0.bb b/meta/recipes-connectivity/iproute2/iproute2_4.6.0.bb deleted file mode 100644 index 49719376f6..0000000000 --- a/meta/recipes-connectivity/iproute2/iproute2_4.6.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -require iproute2.inc - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ - file://configure-cross.patch \ - file://0001-iproute2-de-bash-scripts.patch \ - file://iproute2-4.3.0-musl.patch \ - " -SRC_URI[md5sum] = "d015e437e4f744d51d3a1a53341826d5" -SRC_URI[sha256sum] = "74fc6a8ad085be095a159f8158bbaf385b42af9e101619f233f1ae466829d406" - -# CFLAGS are computed in Makefile and reference CCOPTS -# -EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'" diff --git a/meta/recipes-connectivity/iproute2/iproute2_6.1.0.bb b/meta/recipes-connectivity/iproute2/iproute2_6.1.0.bb new file mode 100644 index 0000000000..7272e8f147 --- /dev/null +++ b/meta/recipes-connectivity/iproute2/iproute2_6.1.0.bb @@ -0,0 +1,103 @@ +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 \ + file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817" + +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] = "5ce12a0fec6b212725ef218735941b2dab76244db7e72646a76021b0537b43ab" + +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" |