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.inc40
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch64
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch32
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_3.12.0.bb13
4 files changed, 149 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc b/meta/recipes-connectivity/iproute2/iproute2.inc
new file mode 100644
index 0000000000..568aa5f5dd
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2.inc
@@ -0,0 +1,40 @@
1SUMMARY = "TCP / IP networking and traffic control utilities"
2DESCRIPTION = "Iproute2 is a collection of utilities for controlling \
3TCP / IP networking and traffic control in Linux. Of the utilities ip \
4and tc are the most important. ip controls IPv4 and IPv6 \
5configuration and tc stands for traffic control."
6HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
7SECTION = "base"
8LICENSE = "GPLv2+"
9LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
10 file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817"
11
12DEPENDS = "flex-native bison-native iptables"
13
14inherit update-alternatives
15
16EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'"
17
18do_install () {
19 oe_runmake DESTDIR=${D} install
20 mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2
21 install -d ${D}${datadir}
22 mv ${D}/share/* ${D}${datadir}/ || true
23 rm ${D}/share -rf || true
24}
25
26# The .so files in iproute2-tc are modules, not traditional libraries
27INSANE_SKIP_${PN}-tc = "dev-so"
28
29PACKAGES =+ "${PN}-tc"
30FILES_${PN}-tc = "${base_sbindir}/tc* \
31 ${libdir}/tc/*.so"
32
33FILES_${PN}-dbg += "${libdir}/tc/.debug"
34
35ALTERNATIVE_${PN} = "ip"
36ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
37ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
38ALTERNATIVE_PRIORITY = "100"
39
40PARALLEL_MAKE = ""
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
new file mode 100644
index 0000000000..39c7d40319
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch
@@ -0,0 +1,64 @@
1Subject: [PATCH] iproute2: de-bash scripts
2
3de-bash these two scripts to make iproute2 not depend on bash.
4
5Upstream-Status: Pending
6
7Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
8
9---
10 ip/ifcfg | 15 ++++++++-------
11 ip/rtpr | 2 +-
12 2 files changed, 9 insertions(+), 8 deletions(-)
13
14diff --git a/ip/ifcfg b/ip/ifcfg
15index 083d9df..60bcf1f 100644
16--- a/ip/ifcfg
17+++ b/ip/ifcfg
18@@ -1,12 +1,13 @@
19-#! /bin/bash
20+#! /bin/sh
21
22 CheckForwarding () {
23- local sbase fwd
24+ local sbase fwd forwarding
25 sbase=/proc/sys/net/ipv4/conf
26 fwd=0
27 if [ -d $sbase ]; then
28 for dir in $sbase/*/forwarding; do
29- fwd=$[$fwd + `cat $dir`]
30+ forwarding=`cat $dir`
31+ fwd=$(($fwd+$forwarding))
32 done
33 else
34 fwd=2
35@@ -127,12 +128,12 @@ fi
36 arping -q -A -c 1 -I $dev $ipaddr
37 noarp=$?
38 ( sleep 2 ;
39- arping -q -U -c 1 -I $dev $ipaddr ) >& /dev/null </dev/null &
40+ arping -q -U -c 1 -I $dev $ipaddr ) > /dev/null 2>&1 </dev/null &
41
42-ip route add unreachable 224.0.0.0/24 >& /dev/null
43-ip route add unreachable 255.255.255.255 >& /dev/null
44+ip route add unreachable 224.0.0.0/24 > /dev/null 2>&1
45+ip route add unreachable 255.255.255.255 > /dev/null 2>&1
46 if [ `ip link ls $dev | grep -c MULTICAST` -ge 1 ]; then
47- ip route add 224.0.0.0/4 dev $dev scope global >& /dev/null
48+ ip route add 224.0.0.0/4 dev $dev scope global > /dev/null 2>&1
49 fi
50
51 if [ $fwd -eq 0 ]; then
52diff --git a/ip/rtpr b/ip/rtpr
53index c3629fd..674198d 100644
54--- a/ip/rtpr
55+++ b/ip/rtpr
56@@ -1,4 +1,4 @@
57-#! /bin/bash
58+#! /bin/sh
59
60 exec tr "[\\\\]" "[
61 ]"
62--
631.7.9.5
64
diff --git a/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch b/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch
new file mode 100644
index 0000000000..866609ca99
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch
@@ -0,0 +1,32 @@
1From 85b0589b4843c03e8e6fd9416d71ea449a73c5c0 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Thu, 3 Nov 2011 10:46:16 +0100
4Subject: [PATCH] make configure cross compile safe
5
6According to Kevin Tian:
7Upstream-Status: Pending
8
9Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
10Signed-off-by: Shane Wang <shane.wang@intel.com>
11
12Index: iproute2-3.7.0/configure
13===================================================================
14--- iproute2-3.7.0.orig/configure
15+++ iproute2-3.7.0/configure
16@@ -2,6 +2,7 @@
17 # This is not an autconf generated configure
18 #
19 INCLUDE=${1:-"$PWD/include"}
20+SYSROOT=$1
21
22 # Make a temp directory in build tree.
23 TMPDIR=$(mktemp -d config.XXXXXX)
24@@ -158,7 +159,7 @@ check_ipt_lib_dir()
25 return
26 fi
27
28- for dir in /lib /usr/lib /usr/local/lib
29+ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib
30 do
31 for file in $dir/{xtables,iptables}/lib*t_*so ; do
32 if [ -f $file ]; then
diff --git a/meta/recipes-connectivity/iproute2/iproute2_3.12.0.bb b/meta/recipes-connectivity/iproute2/iproute2_3.12.0.bb
new file mode 100644
index 0000000000..8cd9d21317
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2_3.12.0.bb
@@ -0,0 +1,13 @@
1require iproute2.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BPN}-${PV}.tar.xz \
4 file://configure-cross.patch \
5 file://0001-iproute2-de-bash-scripts.patch \
6 "
7
8SRC_URI[md5sum] = "f87386aaaecafab95607fd10e8152c68"
9SRC_URI[sha256sum] = "44f600475d27a421688cda2294efec38513473a740c24ead78eb20005f08f111"
10
11# CFLAGS are computed in Makefile and reference CCOPTS
12#
13EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'"