Package: iptables
Version: 1.3.3-2
Followup-For: Bug #298155
Hi,
attached is a patch to build both iptables and iptables64 (64bit)
packages on i386 so people with a 64bit kernel and 32bit userspace can
install iptables64 to restore functionality.
The patch could probably improved by merging the iptables and
iptables64 packages into a single iptables package and providing a
wraper iptables script that picks the right flavour for the running
kernel. The libipt modules for 64bit are already in lib64 so they
don't conflict.
MfG
Goswin
PS: The kernel ABI should be fixed to wok with both ia32 and x86_64
structure alignment rules as a true fix.
-- System Information:
Debian Release: 3.1
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.16-rc4-xen
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages iptables depends on:
ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an
-- no debconf information
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/README
/tmp/mvvWCEjRfz/iptables-1.3.3/README
--- /tmp/EGauZtNhwc/iptables-1.3.3/README 2005-07-25 01:01:42.000000000
+0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/README 2006-04-05 09:49:14.000000000
+0000
@@ -44,4 +44,4 @@
copies the atmomic_t typedef out of /usr/include/asm/atom.h
instead of including that header. If anyone knows how to fix the
FTBFS in Bug#232418 (http://bugs.debian.org/232418), please mail
- [EMAIL PROTECTED]
\ No newline at end of file
+ [EMAIL PROTECTED]
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/debian/changelog
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/changelog
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/changelog 2005-08-06
22:02:00.000000000 +0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/changelog 2006-04-05
11:07:28.000000000 +0000
@@ -1,3 +1,9 @@
+iptables (1.3.3-2c0.mrvn.1) unstable; urgency=low
+
+ * Build iptables64 and iptables64-dev on i386
+
+ -- Goswin von Brederlow <[EMAIL PROTECTED]> Wed, 5 Apr 2006 13:07:31 +0200
+
iptables (1.3.3-2) unstable; urgency=low
* added pomng exclude hack to prep.sh
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/debian/control
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/control
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/control 2005-08-06
21:34:58.000000000 +0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/control 2006-04-05
11:20:36.000000000 +0000
@@ -2,7 +2,7 @@
Section: net
Priority: important
Maintainer: Laurence J. Lane <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>>4.0), linuxdoc-tools, html2text, bzip2
+Build-Depends: debhelper (>>4.0), linuxdoc-tools, html2text, bzip2, lib64gcc1
[i386], amd64-libs-dev [i386]
Standards-Version: 3.5.6.0
Package: iptables
@@ -11,6 +11,7 @@
Suggests: iproute
Section: net
Depends: ${shlibs:Depends}
+Conflicts: iptables64
Description: Linux kernel 2.4+ iptables administration tools
netfilter and iptables provide a Linux kernel framework for
stateful and stateless packet filtering, network and port addresss
@@ -27,6 +28,34 @@
Architecture: any
Priority: optional
Depends:
+Section: devel
+Description: development files for iptable's libipq and libiptc
+ Header files, static libs and documentation for libipq (iptables
+ user-space packet queuing library) and libiptc.
+
+Package: iptables64
+Architecture: i386
+Priority: important
+Suggests: ipmasq, iproute
+Section: net
+Depends: ${shlibs:Depends}
+Conflicts: iptables
+Description: Linux kernel 2.4+ iptables administration tools
+ netfilter and iptables provide a Linux kernel framework for
+ stateful and stateless packet filtering, network and port addresss
+ translation, and other IP packet manipulation. The framework is the
+ successor to ipchains.
+ .
+ netfilter and iptables are used in applications such as Internet
+ connection sharing, firewalls, IP accounting, transparent proxying,
+ advanced routing and traffic control.
+ .
+ iptables web site: http://www.iptables.org/
+
+Package: iptables64-dev
+Architecture: i386
+Priority: optional
+Depends:
Section: devel
Description: development files for iptable's libipq and libiptc
Header files, static libs and documentation for libipq (iptables
diff -Nru
/tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64-dev.doc-base.netfilter-extensions
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64-dev.doc-base.netfilter-extensions
---
/tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64-dev.doc-base.netfilter-extensions
1970-01-01 00:00:00.000000000 +0000
+++
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64-dev.doc-base.netfilter-extensions
2006-04-05 11:12:53.000000000 +0000
@@ -0,0 +1,10 @@
+Document: netfilter-extensions
+Title: Netfilter Extensions HOWTO
+Author: Fabrice MARIE <[EMAIL PROTECTED]>
+Abstract: This document describes how to install and use current iptables
+ extensions for netfilter.
+Section: Apps/Programming
+
+Format: HTML
+Index: /usr/share/doc/iptables64-dev/html/netfilter-extensions-HOWTO.html
+Files: /usr/share/doc/iptables64-dev/html/netfilter-extensions-HOWTO-?.html
diff -Nru
/tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64-dev.doc-base.netfilter-hacking
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64-dev.doc-base.netfilter-hacking
---
/tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64-dev.doc-base.netfilter-hacking
1970-01-01 00:00:00.000000000 +0000
+++
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64-dev.doc-base.netfilter-hacking
2006-04-05 11:13:07.000000000 +0000
@@ -0,0 +1,12 @@
+Document: netfilter-hacking
+Title: Linux netfilter Hacking HOWTO
+Author: Rusty Russell
+Abstract: This document describes the netfilter architecture for Linux,
+ how to hack it, and some of the major systems which sit on top of it,
+ such as packet filtering, connection tracking and Network Address
+ Translation.
+Section: Apps/Programming
+
+Format: HTML
+Index: /usr/share/doc/iptables64-dev/html/netfilter-hacking-HOWTO.html
+Files: /usr/share/doc/iptables64-dev/html/netfilter-hacking-HOWTO-?.html
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64-dev.install
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64-dev.install
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64-dev.install
1970-01-01 00:00:00.000000000 +0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64-dev.install
2006-04-05 11:12:37.000000000 +0000
@@ -0,0 +1,8 @@
+debian/build/iptables_profectio/include/*.h usr/include/x86_64-linux-gnu
+debian/build/iptables_profectio/include/lib* usr/include/x86_64-linux-gnu
+debian/build/iptables_profectio/libiptc/*.a usr/lib64
+debian/build/iptables_profectio/libipq/*.a usr/lib64
+debian/build/iptables_profectio/*.a usr/lib64
+debian/build/iptables_profectio/libipq/*.3 usr/share/man/man3
+debian/build/doc/netfilter-extensions-HOWTO* usr/share/doc/iptables64-dev/html
+debian/build/doc/netfilter-hacking-HOWTO* usr/share/doc/iptables64-dev/html
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.doc-base.nat
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.doc-base.nat
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.doc-base.nat
1970-01-01 00:00:00.000000000 +0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.doc-base.nat
2006-04-05 11:13:45.000000000 +0000
@@ -0,0 +1,11 @@
+Document: nat
+Title: Linux 2.4 NAT HOWTO
+Author: Rusty Russell
+Abstract: This document describes how to do masquerading, transparent
+ proxying, port forwarding, and other forms of Network Address
+ Translations with the 2.4+ Linux Kernels.
+Section: Apps/System
+
+Format: HTML
+Index: /usr/share/doc/iptables64/html/NAT-HOWTO.html
+Files: /usr/share/doc/iptables64/html/NAT-HOWTO*.html
diff -Nru
/tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.doc-base.packet-filter
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.doc-base.packet-filter
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.doc-base.packet-filter
1970-01-01 00:00:00.000000000 +0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.doc-base.packet-filter
2006-04-05 11:14:11.000000000 +0000
@@ -0,0 +1,10 @@
+Document: packet-filter
+Title: Linux 2.4 Packet Filtering HOWTO
+Author: Rusty Russell
+Abstract: This document describes how to use iptables to filter
+ IP packets for the 2.4+ Linux kernels.
+Section: Apps/System
+
+Format: HTML
+Index: /usr/share/doc/iptables64/html/packet-filtering-HOWTO.html
+Files: /usr/share/doc/iptables64/html/packet-filtering-HOWTO*.html
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.docs
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.docs
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.docs 1970-01-01
00:00:00.000000000 +0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.docs 2006-04-05
11:14:30.000000000 +0000
@@ -0,0 +1 @@
+debian/build/doc/changelog
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.examples
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.examples
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.examples 1970-01-01
00:00:00.000000000 +0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.examples 2006-04-05
11:14:48.000000000 +0000
@@ -0,0 +1 @@
+examples/*
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.install
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.install
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.install 1970-01-01
00:00:00.000000000 +0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.install 2006-04-05
11:14:59.000000000 +0000
@@ -0,0 +1,7 @@
+debian/*.8 usr/share/man/man8
+debian/build/iptables_profectio/*.8 usr/share/man/man8
+debian/build/iptables_profectio/*-save sbin
+debian/build/iptables_profectio/*-restore sbin
+debian/build/doc/NAT-HOWTO* usr/share/doc/iptables/html
+debian/build/doc/packet-filtering-HOWTO* usr/share/doc/iptables/html
+debian/build/iptables_profectio/ippool/ippool sbin
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.lintian.override
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.lintian.override
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.lintian.override
1970-01-01 00:00:00.000000000 +0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.lintian.override
2006-04-05 11:15:26.000000000 +0000
@@ -0,0 +1 @@
+iptables64: shared-lib-without-dependency-information
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.postinst
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.postinst
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/iptables64.postinst 1970-01-01
00:00:00.000000000 +0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/iptables64.postinst 2006-04-05
11:15:44.000000000 +0000
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -e
+
+#clean-up 1.2.6-a{1,2} posinst error
+foo="/etc/init.d/iptables exists"
+if test -f /1; then
+ if grep -q "$foo" /1; then
+ rm -f /1
+ fi
+fi
+
+# iptables 1.2.7-8 dumped debconf
+if [ -e /usr/share/debconf/confmodule ]; then
+ . /usr/share/debconf/confmodule
+ db_purge
+fi
+
+# remove ugly alternatives hack for owner match
+
+if [ -x /usr/sbin/update-alternatives ]; then
+ update-alternatives --remove \
+ libipt_owner.so /lib/iptables/libipt_owner.so+pre-2.4.20
+ update-alternatives --remove \
+ libipt_owner.so /lib/iptables/libipt_owner.so+post-2.4.20
+fi
+
+#DEBHELPER#
diff -Nru /tmp/EGauZtNhwc/iptables-1.3.3/debian/rules
/tmp/mvvWCEjRfz/iptables-1.3.3/debian/rules
--- /tmp/EGauZtNhwc/iptables-1.3.3/debian/rules 2005-06-19 00:36:06.000000000
+0000
+++ /tmp/mvvWCEjRfz/iptables-1.3.3/debian/rules 2006-04-05 11:20:04.000000000
+0000
@@ -20,21 +20,33 @@
BUILD_DIR := $(CURDIR)/debian/build
SRC_DIR := $(BUILD_DIR)/$(IPTABLES)
+SRC64_DIR := $(BUILD_DIR)/$(IPTABLES)64
STAMP_DIR := $(BUILD_DIR)/stamp
MANDIR = MANDIR=/usr/share/man
BINDIR = BINDIR=/sbin
LIBDIR = LIBDIR=/lib
+LIB64DIR = LIBDIR=/lib64
DESTDIR := DESTDIR=$(CURDIR)/debian/iptables
+DEST64DIR := DESTDIR=$(CURDIR)/debian/iptables64
KERNEL_DIR := KERNEL_DIR=$(BUILD_DIR)/$(KERNEL)
BUILD_VARS := $(LIBDIR) $(KERNEL_DIR)
+BUILD64_VARS := $(LIB64DIR) $(KERNEL_DIR)
INSTALL_VARS := $(DESTDIR) $(MANDIR) $(LIBDIR) $(BINDIR) $(KERNEL_DIR)
+INSTALL64_VARS := $(DEST64DIR) $(MANDIR) $(LIB64DIR) $(BINDIR) $(KERNEL_DIR)
BUILD_TARGETS = all ip6tables-save ip6tables-restore
+DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+CC64 := gcc -m64
+
prep: $(STAMP_DIR)/prep-stamp
$(STAMP_DIR)/prep-stamp:
$(MAKE) prep
+ifneq (substring($(DEB_BUILD_ARCH),i386),)
+ mkdir -p $(SRC64_DIR)
+ cp -a $(SRC_DIR)/. $(SRC64_DIR)/.
+endif
touch $@
build: $(STAMP_DIR)/build-stamp
@@ -46,6 +58,13 @@
cd $(SRC_DIR); ar rcs libiptables.a iptables.o
cd $(SRC_DIR); ar rcs libip6tables.a ip6tables.o
+ifneq (substring($(DEB_BUILD_ARCH),i386),)
+ CC="$(CC64)" $(MAKE) -C $(SRC64_DIR) $(BUILD_TARGETS) $(BUILD64_VARS)
+
+ cd $(SRC64_DIR); ar rcs libiptables.a iptables.o
+ cd $(SRC64_DIR); ar rcs libip6tables.a ip6tables.o
+endif
+
touch $@
clean:
@@ -62,6 +81,13 @@
install -m0644 -D $(CURDIR)/debian/iptables.lintian.override \
$(CURDIR)/debian/iptables/usr/share/lintian/overrides/iptables
+ifneq (substring($(DEB_BUILD_ARCH),i386),)
+ $(MAKE) -C $(SRC64_DIR) install $(INSTALL64_VARS)
+ rm -rf $(SRC64_DIR)/include/libipulog
+ install -m0644 -D $(CURDIR)/debian/iptables64.lintian.override \
+ $(CURDIR)/debian/iptables64/usr/share/lintian/overrides/iptables64
+endif
+
binary-indep: build install
binary-arch: build install