diff --git a/iproute2/.footprint b/iproute2/.footprint index 1276d887..66529826 100644 --- a/iproute2/.footprint +++ b/iproute2/.footprint @@ -1,6 +1,7 @@ drwxr-xr-x root/root etc/ drwxr-xr-x root/root etc/iproute2/ -rw-r--r-- root/root etc/iproute2/ematch_map +-rw-r--r-- root/root etc/iproute2/group -rw-r--r-- root/root etc/iproute2/rt_dsfield -rw-r--r-- root/root etc/iproute2/rt_protos -rw-r--r-- root/root etc/iproute2/rt_realms diff --git a/iproute2/.md5sum b/iproute2/.md5sum index fd2bc607..c743a622 100644 --- a/iproute2/.md5sum +++ b/iproute2/.md5sum @@ -1,2 +1,3 @@ -a243bfea837e71824b7ca26c3bb45fa8 iproute2-2.6.38.tar.bz2 +8728d7bf903c320d98b52e96bf8cc3a6 iproute2-2.6.39.patch +8a3b6bc77c2ecf752284aa4a6fc630a6 iproute2-2.6.39.tar.gz 0b01b0404718d043adf55cfa314c80bd net.iproute2 diff --git a/iproute2/Pkgfile b/iproute2/Pkgfile index f46a056d..121c6dbf 100644 --- a/iproute2/Pkgfile +++ b/iproute2/Pkgfile @@ -4,13 +4,14 @@ # Depends on: db iptables name=iproute2 -version=2.6.38 +version=2.6.39 release=1 -source=(http://devresources.linuxfoundation.org/dev/iproute2/download/$name-$version.tar.bz2 \ - net.iproute2) +source=(http://devresources.linuxfoundation.org/dev/iproute2/download/$name-$version.tar.gz \ + $name-$version.patch net.iproute2) build() { cd $name-$version + patch -p1 -i $SRC/$name-$version.patch sed -i "s|-O2|$CFLAGS|" Makefile ./configure make diff --git a/iproute2/iproute2-2.6.39.patch b/iproute2/iproute2-2.6.39.patch new file mode 100644 index 00000000..25deba7d --- /dev/null +++ b/iproute2/iproute2-2.6.39.patch @@ -0,0 +1,57 @@ +commit 73de5d96804160e3e399bd81b135053f70b27e7b +Author: Andreas Henriksson +Date: Mon Jul 4 05:17:42 2011 +0000 + + iproute2: Fix building xt module against xtables version 6 + + iptables/xtables apparently changed API again.... Now you need to pass + and extra parameter (orig_opts) which was not needed before. + + Sprinkle some lovely pre-processor magic to be compatible with both older + and new versions. In the beginning of times XTABLES_VERSION_CODE didn't + exist. Then it was (0x10000 * major + 0x100 * minor + patch) when it was + first introduced (according to git), but now it's at 6... + Don't know what official iptables releases has defined it to over time. + Lets just hope none of the older versions with is has the define + higher then 6 is still around.... so only the "current" versioning + scheme is supported.... lets see how long this lasts now. + + For the API change in xtables, see: + http://git.netfilter.org/cgi-bin/gitweb.cgi?p=iptables.git;a=commitdiff;h=600f38db82548a683775fd89b6e136673e924097 + + Signed-off-by: Andreas Henriksson + +diff --git a/tc/m_xt.c b/tc/m_xt.c +index 651a59e..13bf19f 100644 +--- a/tc/m_xt.c ++++ b/tc/m_xt.c +@@ -160,9 +160,13 @@ static int parse_ipt(struct action_util *a,int *argc_p, + return -1; + } + tcipt_globals.opts = +- xtables_merge_options(tcipt_globals.opts, +- m->extra_opts, +- &m->option_offset); ++ xtables_merge_options( ++#if (XTABLES_VERSION_CODE >= 6) ++ tcipt_globals.orig_opts, ++#endif ++ tcipt_globals.opts, ++ m->extra_opts, ++ &m->option_offset); + } else { + fprintf(stderr," failed to find target %s\n\n", optarg); + return -1; +@@ -305,7 +309,11 @@ print_ipt(struct action_util *au,FILE * f, struct rtattr *arg) + } + + tcipt_globals.opts = +- xtables_merge_options(tcipt_globals.opts, ++ xtables_merge_options( ++#if (XTABLES_VERSION_CODE >= 6) ++ tcipt_globals.orig_opts, ++#endif ++ tcipt_globals.opts, + m->extra_opts, + &m->option_offset); + } else {