Subject: [alpine-devel] [PATCH] testing/shorewall: upgrade to Perl-only shorewall-4.4.21

From: John Keith Hohm <[email-masked]>
Date: Tue, 19 Jul 2011 00:33:28 -0500

---
 testing/shorewall/APKBUILD                     |   44 +++++++++++++
 testing/shorewall/shorewall-no-install-T.patch |   11 +++
 testing/shorewall/shorewall.initd              |   80 ++++++++++++++++++++++++
 3 files changed, 135 insertions(+), 0 deletions(-)
 create mode 100644 testing/shorewall/APKBUILD
 create mode 100644 testing/shorewall/shorewall-no-install-T.patch
 create mode 100644 testing/shorewall/shorewall.initd

diff --git a/testing/shorewall/APKBUILD b/testing/shorewall/APKBUILD
new file mode 100644
index 0000000..05e05ca
--- /dev/null
+++ b/testing/shorewall/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Natanael Copa <[email-masked]>
+pkgname=shorewall
+pkgver=4.4.21
+pkgrel=0
+pkgdesc="Shoreline Firewall is an iptables-based firewall for Linux."
+url="http://www.shorewall.net/"
+arch="noarch"
+license="GPL-2"
+depends="iptables iproute2 perl"
+replaces="shorewall-common shorewall-perl"
+subpackages="$pkgname-doc"
+source="http://www1.shorewall.net/pub/shorewall/4.4/shorewall-$pkgver/shorewall-$pkgver.tar.bz2
+	shorewall.initd
+	shorewall-no-install-T.patch
+	"
+
+_builddir="src/$pkgname-$pkgver"
+prepare() {
+	local i
+	cd "$_builddir"
+	for i in $source; do
+		case $i in
+		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+		esac
+	done
+}
+
+build() {
+	cd "$_builddir"
+
+	PREFIX="${pkgdir}" ./install.sh || return 1
+	install -Dm755 "$srcdir"/shorewall.initd "$pkgdir"/etc/init.d/shorewall
+}
+
+doc() {
+	default_doc
+	mkdir -p "$subpkgdir/usr/share/shorewall"
+	mv "$pkgdir/usr/share/shorewall/configfiles" \
+		"$subpkgdir/usr/share/shorewall/"
+}
+
+md5sums="aac1823063489563330bf5dc57a26487  shorewall-4.4.21.tar.bz2
+71fb6da1f50f5c6e9dd35b60b3629531  shorewall.initd
+546ca14bae43f5046f193efc884c768b  shorewall-no-install-T.patch"
diff --git a/testing/shorewall/shorewall-no-install-T.patch b/testing/shorewall/shorewall-no-install-T.patch
new file mode 100644
index 0000000..09567a5
--- /dev/null
+++ b/testing/shorewall/shorewall-no-install-T.patch
@@ -0,0 +1,11 @@
+--- a/shorewall-4.4.21/install.sh
++++ b/shorewall-4.4.21/install.sh
+@@ -96,7 +96,7 @@
+ # INIT is the name of the script in the $DEST directory
+ # ARGS is "yes" if we've already parsed an argument
+ #
+-T="-T"
++T=
+ 
+ if [ -z "$DEST" ] ; then
+ 	DEST="/etc/init.d"
diff --git a/testing/shorewall/shorewall.initd b/testing/shorewall/shorewall.initd
new file mode 100644
index 0000000..9dda676
--- /dev/null
+++ b/testing/shorewall/shorewall.initd
@@ -0,0 +1,80 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-firewall/shorewall-common/files/shorewall.initd,v 1.2 2008/05/04 13:16:40 pva Exp $
+
+opts="start stop restart clear reset refresh check"
+
+depend() {
+	need net
+	provide firewall
+	after ulogd
+}
+
+start() {
+	ebegin "Starting firewall"
+	/sbin/shorewall -f start 1>/dev/null
+	eend $? 
+}
+
+stop() {
+	ebegin "Stopping firewall"
+	/sbin/shorewall stop 1>/dev/null
+	eend $?
+}
+
+restart() {
+	# shorewall comes with its own control script that includes a
+	# restart function, so refrain from calling svc_stop/svc_start
+	# here.  Note that this comment is required to fix bug 55576;
+	# runscript.sh greps this script...  (09 Jul 2004 agriffis)
+	ebegin "Restarting firewall"
+	/sbin/shorewall status >/dev/null
+	if [ $? != 0 ] ; then
+	    svc_start
+	else
+	    if [ -f /var/lib/shorewall/restore ] ; then
+		/sbin/shorewall restore
+	    else
+		/sbin/shorewall restart 1>/dev/null
+	    fi
+	fi
+	eend $?
+}
+
+clear() {
+	# clear will remove all the rules and bring the system to an unfirewalled
+	# state. (21 Nov 2004 eldad)
+
+	ebegin "Clearing all firewall rules and setting policy to ACCEPT"
+	/sbin/shorewall clear
+	eend $?
+}
+
+reset() {
+	# reset the packet and byte counters in the firewall
+
+	ebegin "Resetting the packet and byte counters in the firewall"
+	/sbin/shorewall reset
+	eend $?
+}
+
+refresh() {
+	# refresh the rules involving the broadcast addresses of firewall 
+	# interfaces, the black list, traffic control rules and 
+	# ECN control rules
+
+	ebegin "Refreshing firewall rules"
+	/sbin/shorewall refresh
+	eend $?
+}
+
+check() {
+	# perform cursory validation of the zones, interfaces, hosts, rules
+	# and policy files. CAUTION: does not parse and validate the generated 
+	# iptables commands.
+
+	ebegin "Checking configuration files"
+	/sbin/shorewall check
+	eend $?
+}
-- 
1.7.4.5

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---