diff options
-rw-r--r-- | net-firewall/shorewall/ChangeLog | 10 | ||||
-rw-r--r-- | net-firewall/shorewall/files/4.5.21.4/shorewall.confd | 15 | ||||
-rw-r--r-- | net-firewall/shorewall/files/4.5.21.4/shorewall.initd | 107 | ||||
-rw-r--r-- | net-firewall/shorewall/files/4.5.21.4/shorewall.systemd | 17 | ||||
-rw-r--r-- | net-firewall/shorewall/files/4.5.21.4/shorewallrc | 23 | ||||
-rw-r--r-- | net-firewall/shorewall/shorewall-4.5.21.4.ebuild | 116 |
6 files changed, 287 insertions, 1 deletions
diff --git a/net-firewall/shorewall/ChangeLog b/net-firewall/shorewall/ChangeLog index 9d445c73500f..75c8bdc7a90a 100644 --- a/net-firewall/shorewall/ChangeLog +++ b/net-firewall/shorewall/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-firewall/shorewall # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-firewall/shorewall/ChangeLog,v 1.249 2013/10/26 18:37:26 constanze Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-firewall/shorewall/ChangeLog,v 1.250 2013/12/02 20:01:43 constanze Exp $ + +*shorewall-4.5.21.4 (02 Dec 2013) + + 02 Dec 2013; Constanze Hausner <constanze@gentoo.org> + +files/4.5.21.4/shorewall.confd, +files/4.5.21.4/shorewall.initd, + +files/4.5.21.4/shorewallrc, +shorewall-4.5.21.4.ebuild, + +files/4.5.21.4/shorewall.systemd: + Version Bump; Thanks to Thomas D. *shorewall-4.5.21.2 (26 Oct 2013) diff --git a/net-firewall/shorewall/files/4.5.21.4/shorewall.confd b/net-firewall/shorewall/files/4.5.21.4/shorewall.confd new file mode 100644 index 000000000000..e5957167b5b9 --- /dev/null +++ b/net-firewall/shorewall/files/4.5.21.4/shorewall.confd @@ -0,0 +1,15 @@ +# Global start/restart/stop options +# +OPTIONS="" + +# Start options +# +STARTOPTIONS="" + +# Stop options +# +STOPOPTIONS="" + +# Restart options +# +RESTARTOPTIONS="" diff --git a/net-firewall/shorewall/files/4.5.21.4/shorewall.initd b/net-firewall/shorewall/files/4.5.21.4/shorewall.initd new file mode 100644 index 000000000000..d9e0431ab935 --- /dev/null +++ b/net-firewall/shorewall/files/4.5.21.4/shorewall.initd @@ -0,0 +1,107 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-firewall/shorewall/files/4.5.21.4/shorewall.initd,v 1.1 2013/12/02 20:01:43 constanze Exp $ + +description='The Shoreline Firewall, more commonly known as "Shorewall", is' +description="${description} a high-level tool for configuring Netfilter." + +extra_commands="check clear" +extra_started_commands="refresh reset" + +description_check="Checks if the configuration will compile or not." + +description_clear="Clear will remove all rules and chains installed by" +description_clear="${description_clear} Shorewall. The firewall is then" +description_clear="${description_clear} wide open and unprotected." + +description_refresh="The mangle table will be refreshed along with the" +description_refresh="${description_refresh} blacklist chain (if any)." + +description_reset="All the packet and byte counters in the firewall are reset." + +depend() { + need net + provide firewall + after ulogd +} + +status() { + local _retval + /sbin/shorewall status 1>/dev/null + _retval=$? + if [ ${_retval} = '0' ]; then + einfo 'status: started' + mark_service_started "${SVCNAME}" + return 0 + else + einfo 'status: stopped' + mark_service_stopped "${SVCNAME}" + return 3 + fi +} + +start() { + ebegin "Starting shorewall" + /sbin/shorewall ${OPTIONS} start ${STARTOPTIONS} 1>/dev/null + eend $? +} + +stop() { + ebegin "Stopping shorewall" + /sbin/shorewall ${OPTIONS} stop ${STOPOPTIONS} 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 shorewall" + /sbin/shorewall status 1>/dev/null + if [ $? != 0 ] ; then + svc_start + else + /sbin/shorewall ${OPTIONS} restart ${RESTARTOPTIONS} 1>/dev/null + fi + eend $? +} + +clear() { + # clear will remove all the rules and bring the system to an unfirewalled + # state. (21 Nov 2004 eldad) + + ebegin "Clearing all shorewall rules and setting policy to ACCEPT" + /sbin/shorewall ${OPTIONS} clear 1>/dev/null + eend $? +} + +reset() { + # reset the packet and byte counters in the firewall + + ebegin "Resetting the packet and byte counters in shorewall" + /sbin/shorewall ${OPTIONS} reset 1>/dev/null + eend $? +} + +refresh() { + # refresh the rules involving the broadcast addresses of firewall + # interfaces, the black list, traffic control rules and + # ECN control rules + + ebegin "Refreshing shorewall rules" + /sbin/shorewall ${OPTIONS} refresh 1>/dev/null + 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 shorewall configuration" + /sbin/shorewall ${OPTIONS} check 1>/dev/null + eend $? +} diff --git a/net-firewall/shorewall/files/4.5.21.4/shorewall.systemd b/net-firewall/shorewall/files/4.5.21.4/shorewall.systemd new file mode 100644 index 000000000000..db278fd54585 --- /dev/null +++ b/net-firewall/shorewall/files/4.5.21.4/shorewall.systemd @@ -0,0 +1,17 @@ +# +# The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V4.5 +# +[Unit] +Description=Shorewall IPv4 firewall +Documentation=man:shorewall(8) http://www.shorewall.net/Documentation_Index.html +After=network.target + +[Service] +Type=oneshot +RemainAfterExit=yes +EnvironmentFile=/etc/conf.d/shorewall +ExecStart=/sbin/shorewall $OPTIONS start $STARTOPTIONS +ExecStop=/sbin/shorewall $OPTIONS stop $STOPOPTIONS + +[Install] +WantedBy=multi-user.target diff --git a/net-firewall/shorewall/files/4.5.21.4/shorewallrc b/net-firewall/shorewall/files/4.5.21.4/shorewallrc new file mode 100644 index 000000000000..46f5eb9a3603 --- /dev/null +++ b/net-firewall/shorewall/files/4.5.21.4/shorewallrc @@ -0,0 +1,23 @@ +# +# Gentoo Shorewall 4.5 rc file +# +BUILD= #Default is to detect the build system +HOST=gentoo #Gentoo GNU Linux +PREFIX=@GENTOO_PORTAGE_EPREFIX@/usr #Top-level directory for shared files, libraries, etc. +SHAREDIR=${PREFIX}/share #Directory for arch-neutral files. +LIBEXECDIR=${PREFIX}/share #Directory for executable scripts. +PERLLIBDIR=${PREFIX}/share/shorewall #Directory to install Shorewall Perl module directory +CONFDIR=@GENTOO_PORTAGE_EPREFIX@/etc #Directory where subsystem configurations are installed +SBINDIR=@GENTOO_PORTAGE_EPREFIX@/sbin #Directory where system administration programs are installed +MANDIR=${PREFIX}/share/man #Directory where manpages are installed. +INITDIR=${CONFDIR}/init.d #Directory where SysV init scripts are installed. +INITFILE=${PRODUCT} #Name of the product's installed SysV init script +INITSOURCE=init.gentoo.sh #Name of the distributed file to be installed as the SysV init script +ANNOTATED= #If non-zero, annotated configuration files are installed +SYSTEMD=@GENTOO_PORTAGE_EPREFIX@/usr/lib/systemd/system #Directory where .service files are installed (systems running systemd only) +SERVICEFILE=gentoo.service #Name of the distributed file to be installed as systemd service file +SYSCONFFILE=default.gentoo #Name of the distributed file to be installed in $SYSCONFDIR +SYSCONFDIR=${CONFDIR}/conf.d #Directory where SysV init parameter files are installed +SPARSE= #If non-empty, only install $PRODUCT/$PRODUCT.conf in $CONFDIR +VARLIB=@GENTOO_PORTAGE_EPREFIX@/var/lib #Directory where product variable data is stored. +VARDIR=${VARLIB}/${PRODUCT} #Directory where product variable data is stored. diff --git a/net-firewall/shorewall/shorewall-4.5.21.4.ebuild b/net-firewall/shorewall/shorewall-4.5.21.4.ebuild new file mode 100644 index 000000000000..b91801e8bc4a --- /dev/null +++ b/net-firewall/shorewall/shorewall-4.5.21.4.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-firewall/shorewall/shorewall-4.5.21.4.ebuild,v 1.1 2013/12/02 20:01:43 constanze Exp $ + +EAPI="5" + +inherit eutils linux-info prefix systemd versionator + +MY_URL_PREFIX= +case ${P} in + *_beta* | \ + *_rc*) + MY_URL_PREFIX='development/' + ;; +esac + +MY_PV=${PV/_rc/-RC} +MY_PV=${MY_PV/_beta/-Beta} +MY_P=${PN}-${MY_PV} +MY_P_DOCS=shorewall-docs-html-${MY_PV} + +MY_MAJOR_RELEASE_NUMBER=$(get_version_component_range 1-2) +MY_MAJORMINOR_RELEASE_NUMBER=$(get_version_component_range 1-3) + +DESCRIPTION='The Shoreline Firewall, commonly known as Shorewall, is' +DESCRIPTION+=' a high-level tool for configuring Netfilter.' +HOMEPAGE="http://www.shorewall.net/" +SRC_URI=" + http://www1.shorewall.net/pub/shorewall/${MY_URL_PREFIX}${MY_MAJOR_RELEASE_NUMBER}/shorewall-${MY_MAJORMINOR_RELEASE_NUMBER}/${MY_P}.tar.bz2 + doc? ( http://www1.shorewall.net/pub/shorewall/${MY_URL_PREFIX}${MY_MAJOR_RELEASE_NUMBER}/shorewall-${MY_MAJORMINOR_RELEASE_NUMBER}/${MY_P_DOCS}.tar.bz2 ) +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86" +IUSE="doc" + +DEPEND=" + >=dev-lang/perl-5.10 + virtual/perl-Digest-SHA + =net-firewall/shorewall-core-${PVR} +" +RDEPEND=" + ${DEPEND} + >=net-firewall/iptables-1.4.20 + sys-apps/iproute2[-minimal] + sys-devel/bc +" + +S=${WORKDIR}/${MY_P} + +pkg_pretend() { + local CONFIG_CHECK="~NF_CONNTRACK ~NF_CONNTRACK_IPV4" + + local WARNING_CONNTRACK="Without NF_CONNTRACK support, you will be unable" + local WARNING_CONNTRACK+=" to run ${PN} on the local system." + + local WARNING_CONNTRACK_IPV4="Without NF_CONNTRACK_IPV4 support, you will" + local WARNING_CONNTRACK_IPV4+=" be unable to run ${PN} on the local system." + + check_extra_config +} + +src_prepare() { + cp "${FILESDIR}"/${PVR}/shorewallrc "${S}"/shorewallrc.gentoo || die "Copying shorewallrc failed" + eprefixify "${S}"/shorewallrc.gentoo + + cp "${FILESDIR}"/${PVR}/${PN}.confd "${S}"/default.gentoo || die "Copying ${PN}.confd failed" + cp "${FILESDIR}"/${PVR}/${PN}.initd "${S}"/init.gentoo.sh || die "Copying ${PN}.initd failed" + cp "${FILESDIR}"/${PVR}/${PN}.systemd "${S}"/gentoo.service || die "Copying ${PN}.systemd failed" + + epatch_user +} + +src_configure() { + :; +} + +src_compile() { + :; +} + +src_install() { + keepdir /var/lib/${PN} + + DESTDIR="${D}" ./install.sh shorewallrc.gentoo || die "install.sh failed" + + dodoc changelog.txt releasenotes.txt + if use doc; then + dodoc -r Samples + cd "${WORKDIR}"/${MY_P_DOCS} + dohtml -r * + fi +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + elog "Before you can use ${PN}, you need to edit its configuration in:" + elog "" + elog " ${EPREFIX}/etc/${PN}/${PN}.conf" + elog "" + elog "To activate ${PN} on system start, please add ${PN} to your default runlevel:" + elog "" + elog " # rc-update add ${PN} default" + fi + + if ! has_version ${CATEGORY}/shorewall-init; then + elog "" + elog "Starting with shorewall-4.5.21.2, Gentoo also offers ${CATEGORY}/shorewall-init," + elog "which we recommend to install, to protect your firewall at system boot." + elog "" + elog "To read more about shorewall-init, please visit" + elog " http://www.shorewall.net/Shorewall-init.html" + fi +} |