summaryrefslogtreecommitdiff
path: root/package/iproute2
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2011-01-19 02:06:32 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2011-01-20 14:00:27 +0100
commitd3c4a628fbee8ccda9c3500a01c7d817adbb9e4d (patch)
tree1fa09c83fa6345945bd135e78974f7635d7cc7ec /package/iproute2
parentcde33531cc2f70323f24127775eacf66364d38c8 (diff)
iproute2: fix compiling tc helper libs
First of all, tc may support iptables if available. Dedicate a sub-package for the libs generated then, so the plain tc package will always contain the same stuff regardless of whether iptables is there or not. Given the right options, iproute2 is indeed able to detect iptables and libatm, so do that instead of using a shipped Config file. Patches updated as a nice side effect. Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'package/iproute2')
-rw-r--r--package/iproute2/Makefile20
-rw-r--r--package/iproute2/files/Config2
-rw-r--r--package/iproute2/patches/patch-Makefile8
-rw-r--r--package/iproute2/patches/patch-configure59
-rw-r--r--package/iproute2/patches/patch-netem_Makefile6
5 files changed, 69 insertions, 26 deletions
diff --git a/package/iproute2/Makefile b/package/iproute2/Makefile
index f0c815e59..8ce92d5e2 100644
--- a/package/iproute2/Makefile
+++ b/package/iproute2/Makefile
@@ -5,20 +5,23 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= iproute2
PKG_VERSION:= 2.6.37
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 9774ff9d74ebd301bf56bd8d74473786
PKG_DESCR:= iproute2 routing control utility
PKG_SECTION:= route
PKG_URL:= http://www.linuxfoundation.org/en/Net:Iproute2
PKG_SITES:= http://devresources.linuxfoundation.org/dev/iproute2/download/
-PKG_SUBPKGS:= IP TC TC_ATM IFSTAT LNSTAT ROUTEL RTMON SS
+PKG_SUBPKGS:= IP TC TC_ATM TC_IPT IFSTAT LNSTAT ROUTEL RTMON SS
PKGSD_TC:= iproute2 traffic control utility
PKGSS_TC:= kmod-sched
PKGSB_TC:= iptables
PKGSD_TC_ATM:= iproute2 traffic control ATM support library
PKGSS_TC_ATM:= tc libatm
PKGSB_TC_ATM:= linux-atm
+PKGSD_TC_IPT:= iproute 2 traffic control IPTables support library
+PKGSS_TC_IPT:= tc iptables
+PKGSB_TC_IPT:= iptables
PKGSD_IFSTAT:= iproute2 interface statistics utility
PKGSD_LNSTAT:= iproute2 network statistics utilities
PKGSD_ROUTEL:= iproute2 route list and flush utilities
@@ -32,6 +35,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,IP,ip,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,TC,tc,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_TC},${PKGSD_TC},${PKG_SECTION}))
$(eval $(call PKG_template,TC_ATM,tc-atm,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_TC_ATM},${PKGSD_TC_ATM},${PKG_SECTION}))
+$(eval $(call PKG_template,TC_IPT,tc-iptables,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_TC_IPT},${PKGSD_TC_IPT},${PKG_SECTION}))
$(eval $(call PKG_template,IFSTAT,ifstat,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_IFSTAT},${PKG_SECTION}))
$(eval $(call PKG_template,LNSTAT,lnstat,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_LNSTAT},${PKG_SECTION}))
$(eval $(call PKG_template,ROUTEL,routel,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_ROUTEL},${PKG_SECTION}))
@@ -41,10 +45,7 @@ $(eval $(call PKG_template,SS,ss,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_SS},${PK
TCFLAGS+= -D_GNU_SOURCE
XAKE_FLAGS+= CCOPTS="${TCFLAGS}" MFLAGS="CC=${TARGET_CC}" \
HOSTCFLAGS="-I${LINUX_HEADER_DIR}/include"
-CONFIGURE_FLAGS+= KERNEL_INCLUDE="${LINUX_DIR}/include"
-
-post-configure:
- $(CP) ./files/Config $(WRKBUILD)/
+CONFIGURE_ENV+= IPTC="${TARGET_CFLAGS}" IPTL="${TARGET_LDFLAGS}"
ip-install:
${INSTALL_DIR} ${IDIR_IP}/{etc/iproute2,usr/sbin}
@@ -53,8 +54,6 @@ ip-install:
tc-install:
${INSTALL_DIR} ${IDIR_TC}/{lib/tc,usr/sbin,usr/lib/tc}
- # use ${CP} here, since m_ipt.so is a symlink to m_xt.so
- ${CP} ${WRKINST}/lib/tc/m_*.so ${IDIR_TC}/lib/tc/
${CP} ${WRKINST}/usr/lib/tc/*.dist ${IDIR_TC}/usr/lib/tc/
${INSTALL_BIN} ${WRKINST}/sbin/tc ${IDIR_TC}/usr/sbin/
@@ -63,6 +62,11 @@ tc-atm-install:
${INSTALL_DATA} ${WRKINST}/lib/tc/q_atm.so \
${IDIR_TC_ATM}/lib/tc/
+tc-iptables-install:
+ ${INSTALL_DIR} ${IDIR_TC_IPT}/lib/tc
+ # use ${CP} here, since m_ipt.so is a symlink to m_xt.so
+ ${CP} ${WRKINST}/lib/tc/m_*.so ${IDIR_TC}/lib/tc/
+
ifstat-install:
${INSTALL_DIR} ${IDIR_IFSTAT}/usr/sbin
${INSTALL_BIN} ${WRKINST}/sbin/ifstat ${IDIR_IFSTAT}/usr/sbin
diff --git a/package/iproute2/files/Config b/package/iproute2/files/Config
deleted file mode 100644
index 0ba7d387d..000000000
--- a/package/iproute2/files/Config
+++ /dev/null
@@ -1,2 +0,0 @@
-TC_CONFIG_ATM:=y
-TC_CONFIG_XT:=y
diff --git a/package/iproute2/patches/patch-Makefile b/package/iproute2/patches/patch-Makefile
index 841c6f32e..d84ffa57b 100644
--- a/package/iproute2/patches/patch-Makefile
+++ b/package/iproute2/patches/patch-Makefile
@@ -3,9 +3,9 @@
overriding CCOPTS instead wont work, as this variable is being
used to compile host-utils in netem/
- define LIBUTIL for misc/ss to compile correctly
---- iproute2-2.6.29-1.orig/Makefile 2009-03-24 23:40:54.000000000 +0100
-+++ iproute2-2.6.29-1/Makefile 2009-11-25 08:59:58.000000000 +0100
-@@ -20,10 +20,10 @@ ADDLIB+=dnet_ntop.o dnet_pton.o
+--- iproute2-2.6.37.orig/Makefile 2011-01-07 18:54:30.000000000 +0100
++++ iproute2-2.6.37/Makefile 2011-01-18 02:19:41.379921947 +0100
+@@ -27,10 +27,10 @@ ADDLIB+=dnet_ntop.o dnet_pton.o
#options for ipx
ADDLIB+=ipx_ntop.o ipx_pton.o
@@ -20,7 +20,7 @@
YACCFLAGS = -d -t -v
LDLIBS += -L../lib -lnetlink -lutil
-@@ -31,6 +31,7 @@ LDLIBS += -L../lib -lnetlink -lutil
+@@ -38,6 +38,7 @@ LDLIBS += -L../lib -lnetlink -lutil
SUBDIRS=lib ip tc misc netem genl
LIBNETLINK=../lib/libnetlink.a ../lib/libutil.a
diff --git a/package/iproute2/patches/patch-configure b/package/iproute2/patches/patch-configure
index 38586090d..a5cf58b45 100644
--- a/package/iproute2/patches/patch-configure
+++ b/package/iproute2/patches/patch-configure
@@ -1,30 +1,71 @@
- use the compiler passed in $CC
---- iproute2-2.6.29-1.orig/configure 2009-03-24 23:40:54.000000000 +0100
-+++ iproute2-2.6.29-1/configure 2009-08-22 02:23:52.642364236 +0200
-@@ -16,7 +16,7 @@ int main(int argc, char **argv) {
+ - use the compiler passed in $CC
+ - predefine iptables modules dir, since the check would
+ always fail (cause of absolute search paths) and OpenADK
+ (for now) doesn't compile iptables with shared objects
+ - do not discard compiler output from tests, they're useful
+ for debugging
+ - additionally output the full compiler command before running
+ it
+--- iproute2-2.6.37.orig/configure 2011-01-07 18:54:30.000000000 +0100
++++ iproute2-2.6.37/configure 2011-01-18 02:37:39.800716449 +0100
+@@ -15,7 +15,8 @@ int main(int argc, char **argv) {
return 0;
}
EOF
-gcc -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm >/dev/null 2>&1
-+$CC -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm >/dev/null 2>&1
++echo "$CC -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm"
++$CC -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm
if [ $? -eq 0 ]
then
echo "TC_CONFIG_ATM:=y" >>Config
-@@ -49,7 +49,7 @@ int main(int argc, char **argv) {
+@@ -49,7 +50,8 @@ int main(int argc, char **argv)
+
+ EOF
+
+-if gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl -lxtables >/dev/null 2>&1
++echo "$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl -lxtables"
++if $CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl -lxtables
+ then
+ echo "TC_CONFIG_XT:=y" >>Config
+ echo "using xtables"
+@@ -86,7 +88,8 @@ int main(int argc, char **argv) {
}
EOF
-gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
-+$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
++echo "$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl"
++$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl
if [ $? -eq 0 ]
then
-@@ -81,7 +81,7 @@ int main(int argc, char **argv) {
+@@ -126,7 +129,8 @@ int main(int argc, char **argv) {
}
EOF
-gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
-+$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
++echo "$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl"
++$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl
if [ $? -eq 0 ]
then
+@@ -149,18 +153,8 @@ check_ipt()
+
+ check_ipt_lib_dir()
+ {
+- IPT_LIB_DIR=""
+- for dir in /lib /usr/lib /usr/local/lib
+- do
+- for file in $dir/$TABLES/lib*t_*so ; do
+- if [ -f $file ]; then
+- echo $dir/$TABLES
+- echo "IPT_LIB_DIR:=$dir/$TABLES" >> Config
+- return
+- fi
+- done
+- done
+- echo "not found!"
++ echo "/usr/lib/$TABLES"
++ echo "IPT_LIB_DIR:=/usr/lib/$TABLES" >> Config
+ }
+
+ echo "# Generated config based on" $INCLUDE >Config
diff --git a/package/iproute2/patches/patch-netem_Makefile b/package/iproute2/patches/patch-netem_Makefile
index 325d01925..b0aa792f7 100644
--- a/package/iproute2/patches/patch-netem_Makefile
+++ b/package/iproute2/patches/patch-netem_Makefile
@@ -1,5 +1,5 @@
---- iproute2-2.6.29-1.orig/netem/Makefile 2009-03-24 23:40:54.000000000 +0100
-+++ iproute2-2.6.29-1/netem/Makefile 2009-12-11 16:39:15.000000000 +0100
+--- iproute2-2.6.37.orig/netem/Makefile 2011-01-07 18:54:30.000000000 +0100
++++ iproute2-2.6.37/netem/Makefile 2011-01-18 02:19:41.386925447 +0100
@@ -2,13 +2,13 @@ DISTGEN = maketable normal pareto pareto
DISTDATA = normal.dist pareto.dist paretonormal.dist experimental.dist
@@ -24,4 +24,4 @@
+ $(HOSTCC) $(HOSTCFLAGS) -I../include -o $@ $@.c -lm
install: all
- mkdir -p $(DESTDIR)/lib/tc
+ mkdir -p $(DESTDIR)$(LIBDIR)/tc