summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <dragonheart@gentoo.org>2006-07-28 08:16:19 +0000
committerDaniel Black <dragonheart@gentoo.org>2006-07-28 08:16:19 +0000
commit82574bbae9aa48046faf5c16d39a75c67f9b418c (patch)
tree560dfa16cbc923f4170c54e0800a77c7a441791e /net-misc/l7-filter
parentAdd extensions USE flag back for misc patch-o-matic extensions. Bump (diff)
downloadgentoo-2-82574bbae9aa48046faf5c16d39a75c67f9b418c.tar.gz
gentoo-2-82574bbae9aa48046faf5c16d39a75c67f9b418c.tar.bz2
gentoo-2-82574bbae9aa48046faf5c16d39a75c67f9b418c.zip
version bump suggested in bug #141688. added kernel incompatibility warnings
(Portage version: 2.1.1_pre3-r5)
Diffstat (limited to 'net-misc/l7-filter')
-rw-r--r--net-misc/l7-filter/ChangeLog8
-rw-r--r--net-misc/l7-filter/files/digest-l7-filter-2.36
-rw-r--r--net-misc/l7-filter/l7-filter-1.4.ebuild7
-rw-r--r--net-misc/l7-filter/l7-filter-2.2.ebuild7
-rw-r--r--net-misc/l7-filter/l7-filter-2.3.ebuild160
5 files changed, 183 insertions, 5 deletions
diff --git a/net-misc/l7-filter/ChangeLog b/net-misc/l7-filter/ChangeLog
index cd66176174e5..7387433d1d3d 100644
--- a/net-misc/l7-filter/ChangeLog
+++ b/net-misc/l7-filter/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-misc/l7-filter
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/l7-filter/ChangeLog,v 1.27 2006/07/09 11:18:47 dragonheart Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/l7-filter/ChangeLog,v 1.28 2006/07/28 08:16:19 dragonheart Exp $
+
+*l7-filter-2.3 (28 Jul 2006)
+
+ 28 Jul 2006; Daniel Black <dragonheart@gentoo.org> l7-filter-1.4.ebuild,
+ l7-filter-2.2.ebuild, +l7-filter-2.3.ebuild:
+ version bump suggested in bug #141688. added kernel incompatibility warnings
09 Jul 2006; Daniel Black <dragonheart@gentoo.org> -l7-filter-1.5.ebuild,
-l7-filter-2.0.ebuild, -l7-filter-2.1_p1.ebuild, l7-filter-2.2.ebuild:
diff --git a/net-misc/l7-filter/files/digest-l7-filter-2.3 b/net-misc/l7-filter/files/digest-l7-filter-2.3
new file mode 100644
index 000000000000..20dc2c49156d
--- /dev/null
+++ b/net-misc/l7-filter/files/digest-l7-filter-2.3
@@ -0,0 +1,6 @@
+MD5 6e8ff4d1b7b0281a7596a74789b79f8d additional_patch_for_2.6.13.diff 4962
+RMD160 8faa60214d5695c797b24a11fe95858a785258a3 additional_patch_for_2.6.13.diff 4962
+SHA256 c0e2b7bb7024c8e35b554eb33263b5c34dd2356aaea739b07231f717eae8f58d additional_patch_for_2.6.13.diff 4962
+MD5 5d8ee8f7b41f562296bfff3eb43406ee netfilter-layer7-v2.3.tar.gz 105587
+RMD160 4c5c5315cf1f193c9ceb605d8d9d9328b515c64d netfilter-layer7-v2.3.tar.gz 105587
+SHA256 4a5e4475d05c8d0998e56d12e8e27eb9acf23ce80a53000783b2f609a6bb33aa netfilter-layer7-v2.3.tar.gz 105587
diff --git a/net-misc/l7-filter/l7-filter-1.4.ebuild b/net-misc/l7-filter/l7-filter-1.4.ebuild
index 24fd006630d6..3cd4a61fb0e1 100644
--- a/net-misc/l7-filter/l7-filter-1.4.ebuild
+++ b/net-misc/l7-filter/l7-filter-1.4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/l7-filter/l7-filter-1.4.ebuild,v 1.10 2006/01/06 10:34:12 dragonheart Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/l7-filter/l7-filter-1.4.ebuild,v 1.11 2006/07/28 08:16:19 dragonheart Exp $
inherit linux-info eutils
@@ -26,7 +26,10 @@ which_patch() {
PATCH=kernel-${KV_MAJOR}.${KV_MINOR}-layer7-${PV}.patch
elif kernel_is ge 2 6 9
then
- if kernel_is ge 2 6 11
+ if kernel_is ge 2 6 13
+ then
+ die 'cannot work with a >=2.6.13 kernel version - try the latest l7-filter version'
+ elif kernel_is ge 2 6 11
then
PATCH=kernel-2.6.11-layer7-${PV}.patch
else
diff --git a/net-misc/l7-filter/l7-filter-2.2.ebuild b/net-misc/l7-filter/l7-filter-2.2.ebuild
index 81b9de8aebfc..3ce8f928c74d 100644
--- a/net-misc/l7-filter/l7-filter-2.2.ebuild
+++ b/net-misc/l7-filter/l7-filter-2.2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/l7-filter/l7-filter-2.2.ebuild,v 1.3 2006/07/09 11:22:25 dragonheart Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/l7-filter/l7-filter-2.2.ebuild,v 1.4 2006/07/28 08:16:19 dragonheart Exp $
inherit linux-info eutils
@@ -21,7 +21,10 @@ RDEPEND="net-misc/l7-protocols"
which_patch() {
- if kernel_is ge 2 6 13
+ if kernel_is ge 2 6 17
+ then
+ die 'cannot work with a >=2.6.17 kernel version - try the latest l7-filter version'
+ elif kernel_is ge 2 6 13
then
PATCH=kernel-2.6.13-2.6.16-layer7-2.2.patch
elif kernel_is ge 2 6 11
diff --git a/net-misc/l7-filter/l7-filter-2.3.ebuild b/net-misc/l7-filter/l7-filter-2.3.ebuild
new file mode 100644
index 000000000000..02b8f11772a8
--- /dev/null
+++ b/net-misc/l7-filter/l7-filter-2.3.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/l7-filter/l7-filter-2.3.ebuild,v 1.1 2006/07/28 08:16:19 dragonheart Exp $
+
+inherit linux-info eutils
+
+MY_P=netfilter-layer7-v${PV/_/-}
+DESCRIPTION="Kernel modules for layer 7 iptables filtering"
+HOMEPAGE="http://l7-filter.sourceforge.net"
+SRC_URI="mirror://sourceforge/l7-filter/${MY_P}.tar.gz
+ mirror://gentoo/additional_patch_for_2.6.13.diff"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE=""
+#break repoman
+#SLOT="${KV}"
+SLOT="0"
+S=${WORKDIR}/${MY_P}
+RDEPEND="net-misc/l7-protocols"
+
+
+which_patch() {
+ if kernel_is ge 2 6 17
+ then
+ PATCH=kernel-2.6.17-layer7-2.3.patch
+ elif kernel_is ge 2 6 13
+ then
+ PATCH=for_older_kernels/kernel-2.6.13-2.6.16-layer7-2.2.patch
+ elif kernel_is ge 2 6 11
+ then
+ PATCH=for_older_kernels/kernel-2.6.11-2.6.12-layer7-1.4.patch
+ elif kernel_is ge 2 6 9
+ then
+ PATCH=for_older_kernels/kernel-2.6.9-2.6.10-layer7-1.2.patch
+ elif kernel_is 2 4
+ then
+ PATCH=kernel-2.4-layer7-2.2.patch
+ else
+ die "No L7-filter patch for Kernel version ${KV_FULL} - sorry not supported"
+ fi
+}
+
+pkg_setup() {
+ linux-info_pkg_setup
+ pkg_preinstall
+ pkg_postinst
+}
+
+src_unpack() {
+
+ which_patch
+
+ if [ -f ${KV_DIR}/include/linux/netfilter_ipv4/ipt_layer7.h ]
+ then
+ ewarn "already installed ${PN} for kernel ${KV_FULL}"
+ ewarn "If this is an upgrade attempt, try unmerging first."
+ ewarn "If this failes remove your kernel source from /usr/src"
+ ewarn "and remerge your kernel sources"
+ die
+ fi
+
+ unpack ${MY_P}.tar.gz
+
+ [ ! -f "${S}/${PATCH}" ] && \
+ die "patch ${PATCH} not found. Please enter a bug at bugs.gentoo.org"
+
+
+ cd ${S}
+
+ mkdir kernel
+ mkdir kernel/Documentation
+
+
+ # create needed directories
+ mkdir -p ${S}/kernel/net/ipv4/netfilter/regexp/
+ mkdir -p ${S}/kernel/include/linux/netfilter_ipv4/
+
+ cd ${KV_DIR}
+
+ # start to copy needed files, if file not exists create an empty file
+ FILES=$(patch -t --dry-run -p1 < ${S}/${PATCH} | grep "^patching file" | cut -f 3 -d ' ')
+ for F in ${FILES};
+ do
+ if [ -f "${F}" ];
+ then
+ cp -P "${F}" "${S}/kernel/${F}"
+ else
+ touch "${S}/kernel/${F}"
+ fi
+ done
+
+ #patch the copied kernel source
+ cd ${S}/kernel
+ EPATCH_OPTS="-F 3" epatch "${S}/${PATCH}"
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=106009#c5
+ if kernel_is eq 2 6 12
+ then
+ epatch "${DISTDIR}"/additional_patch_for_2.6.13.diff
+ fi
+}
+
+src_compile() {
+ einfo "no compiling - just patching source"
+}
+
+src_install() {
+ insinto "$(/bin/readlink -f ${KV_DIR})"
+ doins -r kernel/*
+ dodoc CHANGELOG README
+}
+
+pkg_preinstall() {
+ if has collision-protect ${FEATURES}; then
+ ewarn
+ ewarn "Collisions are expected as this patches kernel code. Disable"
+ ewarn "FEATURES=collision-protect before use"
+ die 'incompatible FEATURES=collision-protect'
+ fi
+}
+
+pkg_postinst() {
+ ewarn "This may not work with all kernels. If it does not work please enter a bug at bugs.gentoo.org"
+ ewarn "This only patches the current kernel source code. (${KV_DIR})"
+ ewarn "Its up to you to recompile the kernel with the l7 options"
+ ewarn
+ ewarn 'You will also need to emerge iptables with the "extensions" or'
+ ewarn '"l7filter" USE flag (depend which version of iptables you emerge)'
+}
+
+#
+# Unpatching of patched files is required to avoid a broken kernel source tree
+
+pkg_prerm() {
+ # How to determine what version it was installed against? - measily
+ eval $(/bin/fgrep KV=2 ${ROOT}/var/db/pkg/net-misc/${PF}/environment |\
+ /bin/head -1)
+ KV_DIR=/usr/src/linux-"${KV}"
+ if [ -d ${KV_DIR} ]; then
+ ewarn "${KV_DIR} nolonger exists"
+ return 0;
+ fi
+ echo "KV_DIR=$KV_DIR"
+ if [ -f ${KV_DIR}/include/linux/netfilter_ipv4/ipt_layer7.h ]
+ then
+ einfo 'attempting to unpatch l7-patch from kernel ${KV_FULL}'
+ which_patch
+ if kernel_is eq 2 6 12
+ then
+
+ patch -F 3 -d "${KV_DIR}" -R -p1 \
+ < "${DISTDIR}"/additional_patch_for_2.6.13.diff
+ fi
+ cd "${T}"
+ unpack ${MY_P}.tar.gz
+ EPATCH_SINGLE_MSG="removing previous patch" \
+ EPATCH_OPTS="-F 3 -d "${KV_DIR}" -R" epatch "${T}/${MY_P}/${PATCH}"
+ fi
+}