summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-firewall/iptables/iptables-1.2.11-r2.ebuild')
-rw-r--r--net-firewall/iptables/iptables-1.2.11-r2.ebuild168
1 files changed, 168 insertions, 0 deletions
diff --git a/net-firewall/iptables/iptables-1.2.11-r2.ebuild b/net-firewall/iptables/iptables-1.2.11-r2.ebuild
new file mode 100644
index 000000000000..f460c8034f8c
--- /dev/null
+++ b/net-firewall/iptables/iptables-1.2.11-r2.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/iptables/iptables-1.2.11-r2.ebuild,v 1.1 2004/07/03 15:36:32 aliz Exp $
+
+inherit eutils flag-o-matic
+
+#extensions versions
+
+DESCRIPTION="Linux kernel (2.4+) firewall, NAT and packet mangling tools"
+HOMEPAGE="http://www.iptables.org/"
+SRC_URI="http://www.iptables.org/files/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~sparc ~mips ~alpha ~arm ~hppa ~amd64 ~ia64"
+IUSE="ipv6 static extensions"
+DEPEND="virtual/linux-sources"
+
+pkg_setup() {
+ if use extensions; then
+ einfo "WARNING: 3rd party extensions has been enabled."
+ einfo "This means that iptables will use your currently installed"
+ einfo "kernel in /usr/src/linux as headers for iptables."
+ einfo ""
+ einfo "You may have to patch your kernel to allow iptables to build."
+ einfo "Please check http://cvs.iptables.org/patch-o-matic-ng/updates/ for patches"
+ einfo "for your kernel."
+ fi
+}
+
+
+src_unpack() {
+ unpack ${A} ; cd ${S}
+
+ epatch ${FILESDIR}/${PV}-files/grsecurity-1.2.8-iptables.patch.bz2
+ epatch ${FILESDIR}/${PV}-files/install_ipv6_apps.patch.bz2
+ epatch ${FILESDIR}/${PV}-files/install_all_dev_files.patch.bz2
+ use hppa && epatch ${FILESDIR}/${PV}-files/hppa.patch.bz2
+
+ sed -i "s:PF_EXT_SLIB=:PF_EXT_SLIB=stealth :g" extensions/Makefile
+
+ if use extensions; then
+ epatch ${FILESDIR}/${PV}-files/iptables-1.2.9-imq1.diff.bz2
+ epatch ${FILESDIR}/${PV}-files/iptables-layer7-0.9.0.patch.bz2
+
+ chmod +x extensions/.IMQ-test*
+ chmod +x extensions/.childlevel-test*
+ chmod +x extensions/.layer7-test*
+
+ fi
+}
+
+src_compile() {
+ replace-flags -O0 -O2
+
+ if [ -z `get-flag O` ]; then
+ append-flags -O2
+ fi
+
+ # prevent it from causing ICMP errors.
+ # http://bugs.gentoo.org/show_bug.cgi?id=23645
+ filter-flags "-fstack-protector"
+
+ # iptables and libraries are now installed to /sbin and /lib, so that
+ # systems with remote network-mounted /usr filesystems can get their
+ # network interfaces up and running correctly without /usr.
+
+ use ipv6 || myconf="${myconf} DO_IPV6=0"
+ use static && myconf="${myconf} NO_SHARED_LIBS=0"
+
+ if use extensions; then
+ # Only check_KV if /usr/src/linux exists
+ if [ -L ${ROOT}/usr/src/linux -o -d ${ROOT}/usr/src/linux ]; then
+ check_KV
+ else
+ ewarn "You don't have kernel sources available at /usr/src/linux."
+ ewarn "Iptables will be built against linux-headers."
+ fi
+
+ make COPT_FLAGS="${CFLAGS}" ${myconf} \
+ PREFIX= \
+ LIBDIR=/lib \
+ BINDIR=/sbin \
+ MANDIR=/usr/share/man \
+ INCDIR=/usr/include \
+ KERNEL_DIR=/usr/src/linux \
+ || die "Please check http://cvs.iptables.org/patch-o-matic-ng/updates/ if your kernel needs to be patched for iptables"
+ else
+ make COPT_FLAGS="${CFLAGS}" ${myconf} \
+ PREFIX= \
+ LIBDIR=/lib \
+ BINDIR=/sbin \
+ MANDIR=/usr/share/man \
+ INCDIR=/usr/include \
+ KERNEL_DIR=/usr \
+ || die
+ fi
+}
+
+src_install() {
+ if use extensions; then
+ make DESTDIR=${D} ${myconf} \
+ LIBDIR=/lib \
+ MANDIR=/usr/share/man \
+ INCDIR=/usr/include \
+ KERNEL_DIR=/usr/src/linux \
+ install || die "Please check http://cvs.iptables.org/patch-o-matic-ng/updates/ if your kernel needs to be patched for iptables"
+
+ make DESTDIR=${D} ${myconf} \
+ LIBDIR=/usr/lib \
+ MANDIR=/usr/share/man \
+ INCDIR=/usr/include \
+ KERNEL_DIR=/usr/src/linux \
+ install-devel || die "Please check http://cvs.iptables.org/patch-o-matic-ng/updates/ if your kernel needs to be patched for iptables"
+ else
+ make DESTDIR=${D} ${myconf} \
+ LIBDIR=/lib \
+ MANDIR=/usr/share/man \
+ INCDIR=/usr/include \
+ KERNEL_DIR=/usr \
+ install || die
+
+ make DESTDIR=${D} ${myconf} \
+ LIBDIR=/usr/lib \
+ MANDIR=/usr/share/man \
+ INCDIR=/usr/include \
+ KERNEL_DIR=/usr \
+ install-devel || die
+ fi
+
+ dodoc COPYING
+ dodir /var/lib/iptables ; keepdir /var/lib/iptables
+ exeinto /etc/init.d
+ newexe ${FILESDIR}/${PN}-${PV}-r1.init iptables
+ insinto /etc/conf.d
+ newins ${FILESDIR}/${PN}-${PV}-r1.confd iptables
+
+ if use ipv6; then
+ dodir /var/lib/ip6tables ; keepdir /var/lib/ip6tables
+ exeinto /etc/init.d
+ newexe ${FILESDIR}/${PN/iptables/ip6tables}-${PV}-r1.init ip6tables
+ insinto /etc/conf.d
+ newins ${FILESDIR}/${PN/iptables/ip6tables}-${PV}-r1.confd ip6tables
+ fi
+}
+
+pkg_postinst() {
+ einfo "This package now includes an initscript which loads and saves"
+ einfo "rules stored in /var/lib/iptables/rules-save"
+ use ipv6 >/dev/null && einfo "and /var/lib/ip6tables/rules-save"
+ einfo "This location can be changed in /etc/conf.d/iptables"
+ einfo ""
+ einfo "If you are using the iptables initsscript you should save your"
+ einfo "rules using the new iptables version before rebooting."
+ einfo ""
+ einfo "If you are uprading to a >=2.4.21 kernel you may need to rebuild"
+ einfo "iptables."
+ einfo ""
+ ewarn "!!! ipforwarding is now not a part of the iptables initscripts."
+ einfo "Until a more permanent solution is implemented adding the following"
+ einfo "to /etc/conf.d/local.start will enable ipforwarding at bootup:"
+ einfo " echo \"1\" > /proc/sys/net/ipv4/conf/all/forwarding"
+ if useq ipv6; then
+ einfo "and/or"
+ einfo " echo \"1\" > /proc/sys/net/ipv6/conf/all/forwarding"
+ einfo "for ipv6."
+ fi
+}