[iproute] Rebuild for xtables6

Petr Sabata psabata at fedoraproject.org
Tue Jul 12 11:01:19 UTC 2011


commit 1e6cd98f72e19cdaf9c14f67e5381422bba8bd2b
Author: Petr Sabata <contyk at redhat.com>
Date:   Tue Jul 12 13:00:49 2011 +0200

    Rebuild for xtables6

 iproute.spec                   |    7 ++++-
 iproute2-2.6.39-xtables6.patch |   62 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 68 insertions(+), 1 deletions(-)
---
diff --git a/iproute.spec b/iproute.spec
index beea15c..9c63201 100644
--- a/iproute.spec
+++ b/iproute.spec
@@ -2,7 +2,7 @@
 Summary:            Advanced IP routing and network device configuration tools
 Name:               iproute
 Version:            2.6.39
-Release:            1%{?dist}
+Release:            2%{?dist}
 Group:              Applications/System
 URL:                http://www.linuxfoundation.org/collaborate/workgroups/networking/%{name}2
 Source0:            http://devresources.linuxfoundation.org/dev/iproute2/download/%{name}2-%{version}.tar.gz
@@ -19,6 +19,7 @@ Patch7:             iproute2-example-cbq-service.patch
 Patch8:             iproute2-2.6.35-print-route.patch
 Patch9:             iproute2-print-route-u32.patch
 Patch10:            iproute2-2.6.39-create-peer-veth-without-a-name.patch
+Patch11:            iproute2-2.6.39-xtables6.patch
 
 License:            GPLv2+ and Public Domain
 BuildRequires:      tex(latex) tex(dvips) linuxdoc-tools
@@ -62,6 +63,7 @@ sed -i "s/_VERSION_/%{version}/" man/man8/ss.8
 %patch8 -p1 -b .print-route
 %patch9 -p1 -b .print-route-u32
 %patch10 -p1 -b .peer-veth-without-name
+%patch11 -p1 -b .xtables6
 
 %build
 export LIBDIR=/%{_libdir}
@@ -183,6 +185,9 @@ done
 %{_includedir}/libnetlink.h
 
 %changelog
+* Tue Jul 12 2011 Petr Sabata <contyk at redhat.com> - 2.6.39-2
+- Rebuild for xtables6
+
 * Thu Jun 30 2011 Petr Sabata <contyk at redhat.com> - 2.6.39-1
 - 2.6.39 bump
 
diff --git a/iproute2-2.6.39-xtables6.patch b/iproute2-2.6.39-xtables6.patch
new file mode 100644
index 0000000..d50d2ec
--- /dev/null
+++ b/iproute2-2.6.39-xtables6.patch
@@ -0,0 +1,62 @@
+From 73de5d96804160e3e399bd81b135053f70b27e7b Mon Sep 17 00:00:00 2001
+From: Andreas Henriksson <andreas at fatal.se>
+Date: Mon, 4 Jul 2011 05:17:42 +0000
+Subject: [PATCH] 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 <andreas at fatal.se>
+---
+ tc/m_xt.c |   16 ++++++++++++----
+ 1 files changed, 12 insertions(+), 4 deletions(-)
+
+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 {
+-- 
+1.7.4.4
+


More information about the scm-commits mailing list