aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFathi Boudra <fathi.boudra@linaro.org>2018-06-20 12:05:14 +0300
committerFathi Boudra <fathi.boudra@linaro.org>2018-06-20 12:05:14 +0300
commitb05352be9bfdcbc31cbdbeabaed7c53bfcdff169 (patch)
tree1444278a73a80a313a74aecef6ae6fbfd15be1ca
parent7e6fc9fae1307849fc74b9ee03e19cd4a4b1affd (diff)
iproute2: fix/sync with 4.17 from oe-core
Change-Id: Ia3f88004fa17d071b060bbad2f95acc0c4e44d0e Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
-rw-r--r--core/recipes-connectivity/iproute2/iproute2.inc54
-rw-r--r--core/recipes-connectivity/iproute2/iproute2/0001-ip-Remove-unneed-header.patch30
-rw-r--r--core/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch41
-rw-r--r--core/recipes-connectivity/iproute2/iproute2/0002-iproute2-de-bash-scripts.patch55
-rw-r--r--core/recipes-connectivity/iproute2/iproute2/configure-cross.patch (renamed from core/recipes-connectivity/iproute2/iproute2/0001-make-configure-cross-compile-safe.patch)22
-rw-r--r--core/recipes-connectivity/iproute2/iproute2_4.17.0.bb5
6 files changed, 136 insertions, 71 deletions
diff --git a/core/recipes-connectivity/iproute2/iproute2.inc b/core/recipes-connectivity/iproute2/iproute2.inc
new file mode 100644
index 0000000..b283589
--- /dev/null
+++ b/core/recipes-connectivity/iproute2/iproute2.inc
@@ -0,0 +1,54 @@
+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 libcap"
+
+inherit update-alternatives bash-completion pkgconfig
+
+CLEANBROKEN = "1"
+
+PACKAGECONFIG ??= "tipc"
+PACKAGECONFIG[tipc] = ",,libmnl,"
+
+EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip bridge misc genl ${@bb.utils.contains('PACKAGECONFIG', 'tipc', 'tipc', '', d)}' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'"
+
+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"
+
+PACKAGES =+ "${PN}-tc ${PN}-lnstat ${PN}-ifstat ${PN}-genl ${PN}-rtacct ${PN}-nstat ${PN}-ss ${@bb.utils.contains('PACKAGECONFIG', 'tipc', '${PN}-tipc', '', d)}"
+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"
+FILES_${PN}-tipc = "${base_sbindir}/tipc"
+
+ALTERNATIVE_${PN} = "ip"
+ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
+ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/core/recipes-connectivity/iproute2/iproute2/0001-ip-Remove-unneed-header.patch b/core/recipes-connectivity/iproute2/iproute2/0001-ip-Remove-unneed-header.patch
new file mode 100644
index 0000000..a9027c5
--- /dev/null
+++ b/core/recipes-connectivity/iproute2/iproute2/0001-ip-Remove-unneed-header.patch
@@ -0,0 +1,30 @@
+From 02ed10fc5215c4a32e6740b0a0c2439659be6801 Mon Sep 17 00:00:00 2001
+From: Changhyeok Bae <changhyeok.bae@gmail.com>
+Date: Mon, 13 Nov 2017 15:59:35 +0000
+Subject: [PATCH] ip: Remove unneed header
+
+Fix redefinition of struct ethhdr with a suitably patched musl libc
+that suppresses the kernel if_ether.h.
+
+Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
+
+Upstream-Status: Pending [netdev@vger.kernel.org]
+---
+ ip/iplink_bridge.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/ip/iplink_bridge.c b/ip/iplink_bridge.c
+index cccdec1..f065b22 100644
+--- a/ip/iplink_bridge.c
++++ b/ip/iplink_bridge.c
+@@ -13,7 +13,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <netinet/in.h>
+-#include <netinet/ether.h>
+ #include <linux/if_link.h>
+ #include <linux/if_bridge.h>
+ #include <net/if.h>
+--
+2.7.4
+
diff --git a/core/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch b/core/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch
new file mode 100644
index 0000000..50c4bfb
--- /dev/null
+++ b/core/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch
@@ -0,0 +1,41 @@
+From b7d96340c55afb7023ded0041107c63dbd886196 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 f38571d..30f0b67 100644
+--- a/include/uapi/linux/libc-compat.h
++++ b/include/uapi/linux/libc-compat.h
+@@ -49,10 +49,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. */
+--
+2.4.0
+
diff --git a/core/recipes-connectivity/iproute2/iproute2/0002-iproute2-de-bash-scripts.patch b/core/recipes-connectivity/iproute2/iproute2/0002-iproute2-de-bash-scripts.patch
deleted file mode 100644
index 8595c9d..0000000
--- a/core/recipes-connectivity/iproute2/iproute2/0002-iproute2-de-bash-scripts.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From b8f10fcfe7490369d65e0fd19f281216b9a0c554 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 1 Jun 2018 13:58:54 +0200
-Subject: [PATCH 2/4] 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>
-Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
----
- ip/ifcfg | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/ip/ifcfg b/ip/ifcfg
-index 5b34decd4480..e1cf2f644774 100755
---- a/ip/ifcfg
-+++ b/ip/ifcfg
-@@ -2,12 +2,13 @@
- # SPDX-License-Identifier: GPL-2.0
-
- 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
-@@ -128,12 +129,12 @@ fi
- arping -q -A -c 1 -I $dev $ipaddr
- noarp=$?
- ( sleep 2 ;
-- arping -q -U -c 1 -I $dev $ipaddr ) >/dev/null 2>&1 </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 2>&1
--ip route add unreachable 255.255.255.255 >/dev/null 2>&1
-+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 2>&1
-+ ip route add 224.0.0.0/4 dev $dev scope global > /dev/null 2>&1
- fi
-
- if [ $fwd -eq 0 ]; then
---
-2.17.0
-
diff --git a/core/recipes-connectivity/iproute2/iproute2/0001-make-configure-cross-compile-safe.patch b/core/recipes-connectivity/iproute2/iproute2/configure-cross.patch
index 95f9d30..8b75a2a 100644
--- a/core/recipes-connectivity/iproute2/iproute2/0001-make-configure-cross-compile-safe.patch
+++ b/core/recipes-connectivity/iproute2/iproute2/configure-cross.patch
@@ -1,22 +1,19 @@
-From fc00c43f31ca66c7ef081e86efd7cd54ec6a60d5 Mon Sep 17 00:00:00 2001
+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 1/4] make configure cross compile safe
+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>
----
- configure | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/configure b/configure
-index 5ef5cd4cf9cd..9a092e749ff3 100755
---- a/configure
-+++ b/configure
-@@ -3,6 +3,7 @@
+Index: iproute2-4.14.1/configure
+===================================================================
+--- iproute2-4.14.1.orig/configure
++++ iproute2-4.14.1/configure
+@@ -2,6 +2,7 @@
# This is not an autoconf generated configure
#
INCLUDE=${1:-"$PWD/include"}
@@ -24,7 +21,7 @@ index 5ef5cd4cf9cd..9a092e749ff3 100755
# Output file which is input to Makefile
CONFIG=config.mk
-@@ -184,7 +185,7 @@ check_ipt_lib_dir()
+@@ -195,7 +196,7 @@ check_ipt_lib_dir()
return
fi
@@ -33,6 +30,3 @@ index 5ef5cd4cf9cd..9a092e749ff3 100755
do
for file in $dir/{xtables,iptables}/lib*t_*so ; do
if [ -f $file ]; then
---
-2.17.0
-
diff --git a/core/recipes-connectivity/iproute2/iproute2_4.17.0.bb b/core/recipes-connectivity/iproute2/iproute2_4.17.0.bb
index 6d77106..12812b0 100644
--- a/core/recipes-connectivity/iproute2/iproute2_4.17.0.bb
+++ b/core/recipes-connectivity/iproute2/iproute2_4.17.0.bb
@@ -1,8 +1,9 @@
require iproute2.inc
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
- file://0001-make-configure-cross-compile-safe.patch \
- file://0002-iproute2-de-bash-scripts.patch \
+ file://configure-cross.patch \
+ file://0001-libc-compat.h-add-musl-workaround.patch \
+ file://0001-ip-Remove-unneed-header.patch \
"
SRC_URI[md5sum] = "6f3a87fe2d97c28214fc2faab2c257d6"