iptables: fix build without ipv6 support in toolchain
authorPeter Korsgaard <jacmet@sunsite.dk>
Mon, 30 Mar 2009 18:41:53 +0000 (18:41 -0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 30 Mar 2009 18:41:53 +0000 (18:41 -0000)
Patch by Steffen Schulz <sf@cbg.dyndns.org>, closes #233.

package/iptables/iptables-optional-ipv6.patch [new file with mode: 0644]
package/iptables/iptables.mk

diff --git a/package/iptables/iptables-optional-ipv6.patch b/package/iptables/iptables-optional-ipv6.patch
new file mode 100644 (file)
index 0000000..d0c2aba
--- /dev/null
@@ -0,0 +1,70 @@
+Make ipv6 support optional. Patch by Steffen Schulz <sf@cbg.dyndns.org>
+
+Submitted upstream as http://bugzilla.netfilter.org/show_bug.cgi?id=588
+diff -ru iptables-1.4.2/configure.ac iptables-1.4.2_patched/configure.ac
+--- iptables-1.4.2/configure.ac        2009-03-29 15:49:24.764299587 +0000
++++ iptables-1.4.2_patched/configure.ac        2009-03-29 15:38:29.082512186 +0000
+@@ -37,6 +37,9 @@
+       [enable_devel="$enableval"], [enable_devel="yes"])
+ AC_ARG_ENABLE([libipq],
+       AS_HELP_STRING([--enable-libipq], [Build and install libipq]))
++AC_ARG_ENABLE([ipv6],
++    AS_HELP_STRING([--enable-ipv6], [Build and install ip6tables]),
++    [enable_ipv6="$enableval"], [enable_ipv6="yes"])
+ AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH],
+       [Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]),
+       [pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig'])
+@@ -53,6 +56,7 @@
+ AM_CONDITIONAL([ENABLE_SHARED], [test "$enable_shared" = "yes"])
+ AM_CONDITIONAL([ENABLE_DEVEL], [test "$enable_devel" = "yes"])
+ AM_CONDITIONAL([ENABLE_LIBIPQ], [test "$enable_libipq" = "yes"])
++AM_CONDITIONAL([ENABLE_IPV6], [test "$enable_ipv6" == "yes"])
+ regular_CFLAGS="-D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 \
+       -D_REENTRANT -Wall -Waggregate-return -Wmissing-declarations \
+Only in iptables-1.4.2: configure.ac.orig
+Only in iptables-1.4.2: configure.ac.rej
+diff -ru iptables-1.4.2/Makefile.am iptables-1.4.2_patched/Makefile.am
+--- iptables-1.4.2/Makefile.am 2008-10-08 16:31:58.000000000 +0000
++++ iptables-1.4.2_patched/Makefile.am 2009-03-29 15:38:29.082512186 +0000
+@@ -80,11 +80,17 @@
+ endif
+ if ENABLE_STATIC
+-sbin_PROGRAMS += iptables-static ip6tables-static
++sbin_PROGRAMS += iptables-static
++if ENABLE_IPV6
++sbin_PROGRAMS += ip6tables-static
++endif
++
+ endif
+ if ENABLE_SHARED
+-sbin_PROGRAMS += iptables iptables-multi iptables-restore iptables-save \
+-                 ip6tables ip6tables-multi ip6tables-restore ip6tables-save
++sbin_PROGRAMS += iptables iptables-multi iptables-restore iptables-save
++if ENABLE_IPV6
++sbin_PROGRAMS += ip6tables ip6tables-multi ip6tables-restore ip6tables-save
++endif
+ endif
+ iptables.8: ${srcdir}/iptables.8.in extensions/matches4.man extensions/targets4.man
+diff -ru iptables-1.4.2/xtables.c iptables-1.4.2_patched/xtables.c
+--- iptables-1.4.2/xtables.c   2008-10-08 16:31:58.000000000 +0000
++++ iptables-1.4.2_patched/xtables.c   2009-03-29 15:38:29.082512186 +0000
+@@ -964,6 +964,8 @@
+       }
+ }
++#ifdef ENABLE_IPV6
++
+ const char *ip6addr_to_numeric(const struct in6_addr *addrp)
+ {
+       /* 0000:0000:0000:0000:0000:000.000.000.000
+@@ -1189,6 +1191,7 @@
+                       }
+       }
+ }
++#endif
+ void save_string(const char *value)
+ {
index f0aff6f830131057a8285ff88047a5aae4a77865..21ea5be138e2f1d300da68bbc1b8ce250d8ec351 100644 (file)
@@ -8,6 +8,10 @@ IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2
 IPTABLES_SITE = http://ftp.netfilter.org/pub/iptables
 
 IPTABLES_CONF_OPT = --libexecdir=/usr/lib
+ifneq ($(BR2_INET_IPV6),y)
+IPTABLES_CONF_OPT += --enable-ipv6=no
+endif
+
 IPTABLES_INSTALL_TARGET = YES
 
 IPTABLES_AUTORECONF = YES