summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2018-02-22 01:34:02 +0100
committerThomas Deutschmann <whissi@gentoo.org>2018-02-22 01:34:17 +0100
commitea1e0e9284663160b2b635c81c858eb1234447e0 (patch)
treec4258d69dca52f48e7c64cf93aea58e858797493 /net-firewall
parentprofiles: Remove last-rited dev-libs/libindicate-qt (diff)
downloadgentoo-ea1e0e9284663160b2b635c81c858eb1234447e0.tar.gz
gentoo-ea1e0e9284663160b2b635c81c858eb1234447e0.tar.bz2
gentoo-ea1e0e9284663160b2b635c81c858eb1234447e0.zip
net-firewall/shorewall: Bump to v5.1.12.2
Ebuild changes: =============== - Move "keepdir" call for /var/lib/$PRODUCT after installation because install script cleans up any existing directory. Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'net-firewall')
-rw-r--r--net-firewall/shorewall/Manifest7
-rw-r--r--net-firewall/shorewall/shorewall-5.1.12.2.ebuild456
2 files changed, 463 insertions, 0 deletions
diff --git a/net-firewall/shorewall/Manifest b/net-firewall/shorewall/Manifest
index e07440d881e4..5803f52be0d7 100644
--- a/net-firewall/shorewall/Manifest
+++ b/net-firewall/shorewall/Manifest
@@ -1,14 +1,21 @@
DIST shorewall-5.1.11.2.tar.bz2 551818 BLAKE2B f0bc4b7f55e0e5189b50c1fb274229c4485802ea891256cb39c1bb89ff90b8a7e6c46d095fcedc9900ff211d218627c7822db9abc5e3bb6d6764be75b2462f01 SHA512 d214d497b70a56e40af115148907fd36cfc3daa8bd8689605cdc52c0312a0843d081f8c6a33f725cfd6778b400a91eb5c5d538f5083c8ac27f72652ce026714c
DIST shorewall-5.1.12.1.tar.bz2 554575 BLAKE2B 1f49f5fb2dec41f6f1040c82c2a95bc1b658d3add16d385a0166fc3cb9fca8bdfcb594d620b969243b71420c9de15bc84ef4d0648dde9328794fb6383d0e6468 SHA512 7b79a0f849dc24680ab99bae4345857ef70d20cda5e089c74c339b5483cacdfbbff72ae671729bdba87d5940e66b32ccd5e00f6d62a3e2d65577edbf5a305986
+DIST shorewall-5.1.12.2.tar.bz2 555472 BLAKE2B 4eaf7cf1256c4edd5d5bc134a501077d3705d6dd32717234d14566e556267d63181506e9498d50f168b0ebf9c2bebe50dc4087dcd8f2aea5834870fdfe1fb476 SHA512 7cfff999f245da3fa992cd67f18f8b13919e31d95da3dda1920cb0f883766bd5bf8e514a2db09f3fd386b7780dfdc0b811c4fbafa82f459f96dc78dd2e6fc4a4
DIST shorewall-core-5.1.11.2.tar.bz2 85166 BLAKE2B 7e6d3d858163fa6ab20a3b663bc59339c4d2a244f0f4b00a125e48a45739dadaa102a4c8637e662db5452967bcc36b0ee95752c0d92bcfd8cd9dcaaf6d03fadc SHA512 6951a4d3139bd624ecc654a1992dba367cee84d6de218f20d6c2929b34de51a6a53f94061e1e9dc286094312ece75f113e123983c80de0f450d6e786093c6030
DIST shorewall-core-5.1.12.1.tar.bz2 85905 BLAKE2B f867d690c0c3ef8582b5418cf2a45200b5298db9f978d2d5531a4fee157298017b38e98beec0c243aa1009a138e92faa8e19fcf38f88ed030781d4a149fdd26a SHA512 d3f8e347fe2b0c9590830d297e6cea8a830c16467e461fd1d422138850ab80d0eb67213c26f0ca594d04b86d99999bf47800c57b47ae25bd064aa56d9e70fa66
+DIST shorewall-core-5.1.12.2.tar.bz2 86246 BLAKE2B c1e14fd42aadf97298ffe4ebee666ba1098142ef076a5086b45632b2f1063389756fadfbd4e35dd7958300da97d1c01e77fe234987119579d6e5588a409bbeff SHA512 457bf0db6c7b5d83895b471bcd40fa21f2f60007a819be4f9a805f79a0ba268b9ac522374519e8c95e21c99e80dbc27f8d7dc87ac078a9c8c8353cde526211fd
DIST shorewall-docs-html-5.1.11.2.tar.bz2 4281096 BLAKE2B 467d5fc2dd5d2dc6a8064b86439160f4f227b6903e5d84e9824a9e3a2504eec11b2957d39536dfe4edba426b439837c5dccb584ff061e61a7409f377a8599b4e SHA512 807c996c6c7a58a5f13d687025055ba4c5a3c94bff9e227e8fe8da71a909cd428bce163faac59e3d2463f9884f7f46a48c1f661daeec94f9a8c97aa0bd092cbb
DIST shorewall-docs-html-5.1.12.1.tar.bz2 4281459 BLAKE2B 4696dcf2ebe6a3a2c9078b4081393b040481f6769ecff381512a40d97d0ba52042b3e6f3c74361917b2623a4ecaae1c76409ef4f543eb6feaab2077f96250cb5 SHA512 96f6015c9ad4a42432143f5e2411d051bc55004c6479d53b6d8b071052f309aa30df858ac2452fe1d80f2e0071d05c2fa6eee12a70065726f9e775cc2f909575
+DIST shorewall-docs-html-5.1.12.2.tar.bz2 4281009 BLAKE2B 6b16fd7556e7985b95a9c7cbf3c2dc9e9bb6988989569558f09dc7210b14f4624a9d4d75682325a3e4427c9d7fde8c5285dbe0673259122c8b7a806e08f85bb2 SHA512 1460a06fccda7e32a0ebb9f7ce0628c7a50abed37d48148222aa587b87ece249f8e3722c6628590f3d47d3b5ec25e7d2cfc246b42777e15e8a11565dbdbec070
DIST shorewall-init-5.1.11.2.tar.bz2 40214 BLAKE2B e793d272b80e849ad85e0f54e88d7b0817356c35f44669a478ba30ba8d0f4f274e44d5cfb84468896d8aa743126cbdd4bce35b10f3d952c3377294344f95b562 SHA512 5ff9d85c8412cbe6ba9d0124cd3711febef14980c428ca2a4974cd82217ddf28f7dd4a8ca35900c4a59a0c47a407d45da2bedff7b0c92770c11c9761a390e417
DIST shorewall-init-5.1.12.1.tar.bz2 41044 BLAKE2B e38a1f085e74720949ebca053c175fce405699120684b1165a00e5e357cef0b288dc9f0cfa7001795cd626226aed60f286e9939e537e5eaef0bf908f96db2c9a SHA512 e3394c5ca5edbe09941b9ef26e68a606673b13a3a3bf97e3d74a2f7c78cae50611a7f429ec322d3bf105b4b52fbef184cd286eb557af65515f0a6178e3431266
+DIST shorewall-init-5.1.12.2.tar.bz2 41371 BLAKE2B 1ab0101c7d456aa21031d8aceab978e6cb98a5a14a30cb75fa46bef97ac0222418f94079433bb09e9d908eb44e9cd13a5a2bb42983054d4c09a96fe23fd83bd5 SHA512 ef6d3283023117f7c990d75f0569b06edb72568e7c6a848f9d77ef812951c54322771360bc2004fd6d74d0d9f3e8fc91b0b4ddeda6232e91173c5ca5b13d686e
DIST shorewall-lite-5.1.11.2.tar.bz2 45821 BLAKE2B a51f745a111a2aa8c824f625bcdb779c019555d8e68323dec21d20c96054241cb69b74c25664ef7e51737bae959a567c24cc5b8ab771ee5a613bd889af20e870 SHA512 75dd0e7612f5e5903bdd1a54a152ac98fb277e464a856b4ef7cbb5f5d9d67eb19de29dcc994f4b0cb3b60af68e47c0a8e19d7e33e72a8a34d71992dc043bd88f
DIST shorewall-lite-5.1.12.1.tar.bz2 46683 BLAKE2B d8429721ce76bb6b73d8f49bd2ec75c484cd48e732b17c49923a40cb23647a6f2de84d0d8ed798ae2ea89d5ec0cc9a1c367a13175224320f7868298481261ad0 SHA512 37146a1d9bb82b6de69f46b727fb2fa66a0933e13799008716b74d882d28607329795911e9843e0bdf5e5324954c8a7fe14a0e4995184ee38d69ab9c3408deed
+DIST shorewall-lite-5.1.12.2.tar.bz2 47045 BLAKE2B 09d8881848fab61501e7bb5b993fb0dd2b58fc7323aa741bf6847e40c9ffdfaa0dca965785a8f7c18405b434fd0cea15c434b46f42988027bd99c881996e42ae SHA512 e9a2596430b89e6356ec211d6eb94d2815041c269603274f5c102249a0ec1b24d5d3787dbdc876045a0ba41af76afa514f13e6e199358e045ab4ecb4d2b5e2f5
DIST shorewall6-5.1.11.2.tar.bz2 195491 BLAKE2B fd9d05e9b30037fead69add2ca62e0fbbfc2481212485f3f67935c2a062f5fa97378c74e88093b81b218445e4068014f5dedead3370a7ad2424a4ccdd1ad175c SHA512 5488679f2e10bb9ff8b5d66276b068d7acc111256d06f3e1c46863948edc9b5734c3289720c5b3e444f7f9eb25fc3603f676d02df50929802f0e1d582e23f997
DIST shorewall6-5.1.12.1.tar.bz2 196607 BLAKE2B 35d29ccd73184b6905fffa60d209b4bd91cfe05bee73f7205f24ac178f78f74a2b847342c9f27435279fc2bfd7e5e840842d6c1333245f0a04b811d1fc2a94a5 SHA512 bd982de71d53cb1f669c293c825295a2eebe70f52b98bd0a172b13b119d5daa17a14ce9c79a97a41dbf740d4864bf5ee22b40c2bb22401bffb7a84fb911d88cc
+DIST shorewall6-5.1.12.2.tar.bz2 197371 BLAKE2B 3a171bc819e8d4cd757c843222168f8b5b5749baf064d53a42d4d2f8dfcc75e9d8782b5fc31a4a2d520bdc332164197c5c893de47e5abdad6a036ba06db2d1bf SHA512 fe99cd78cd96a8ad78b46ea9c41858c915eee33dea993054ac6ddfe6ab50d2e90fa7af4c9d1e8efdd8153b5ff37f9c8fc831447a5997e819c82f8497a24a1d52
DIST shorewall6-lite-5.1.11.2.tar.bz2 45581 BLAKE2B 760b29fb864a942f15bba5a88cd2933ed6791533ed2492c1985567253c2cd8f02c4931552c0b8ad35599099de70bca2d0f5b2219b98298ec9541ba3f16bac035 SHA512 d5db740f4dbe86ae31d44123de0f0244bf8caa880e9f29cb19590a9a2abcc1b17ef5ba0cd0b40c5bf843415857d988cacb079a4aae7016148be1f71afd8433de
DIST shorewall6-lite-5.1.12.1.tar.bz2 46365 BLAKE2B eb3fdaabdc11d5d2694964d69ae452e52557eff6539a1eb0de3bf607252f52515d285c858b0a75b1ff35ef02c62031ab9c510517e9e5aaeb5f6b860b50156ce3 SHA512 1992cfbc2ca4c9e4b004e10c1b0bf73157da2cdf2fe03ecc8ad9a33e941d7881565c00bd68abec6e8711c58d8df03b0dc1c413639ef7015661fb4ef79151a78e
+DIST shorewall6-lite-5.1.12.2.tar.bz2 46746 BLAKE2B e38af0dff71fb3fc00ca7d7b5ba034650016060be3202f6284ff1ca82070eeb5e0e5cb448230b4e8614bdf0ddd71d28c3d0b022d30d6ed0ea0446c85e07cb0b3 SHA512 133409bf4dc004e4eb80c28e6e035331232dddd87b6fd512077947fcb05f10390360cb3f1918d441ed268f20f09c3bfd0a7952f9252cd8e39de9c6d617f2399d
diff --git a/net-firewall/shorewall/shorewall-5.1.12.2.ebuild b/net-firewall/shorewall/shorewall-5.1.12.2.ebuild
new file mode 100644
index 000000000000..d073bcb9296f
--- /dev/null
+++ b/net-firewall/shorewall/shorewall-5.1.12.2.ebuild
@@ -0,0 +1,456 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit linux-info prefix systemd versionator
+
+DESCRIPTION='A high-level tool for configuring Netfilter'
+HOMEPAGE="http://www.shorewall.net/"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc +init +ipv4 ipv6 lite4 lite6 selinux"
+
+MY_PV=${PV/_rc/-RC}
+MY_PV=${MY_PV/_beta/-Beta}
+MY_P=${PN}-${MY_PV}
+
+MY_MAJOR_RELEASE_NUMBER=$(get_version_component_range 1-2)
+MY_MAJORMINOR_RELEASE_NUMBER=$(get_version_component_range 1-3)
+
+# shorewall
+MY_PN_IPV4=Shorewall
+MY_P_IPV4=${MY_PN_IPV4/#S/s}-${MY_PV}
+
+# shorewall6
+MY_PN_IPV6=Shorewall6
+MY_P_IPV6=${MY_PN_IPV6/#S/s}-${MY_PV}
+
+# shorewall-lite
+MY_PN_LITE4=Shorewall-lite
+MY_P_LITE4=${MY_PN_LITE4/#S/s}-${MY_PV}
+
+# shorewall6-lite
+MY_PN_LITE6=Shorewall6-lite
+MY_P_LITE6=${MY_PN_LITE6/#S/s}-${MY_PV}
+
+# shorewall-init
+MY_PN_INIT=Shorewall-init
+MY_P_INIT=${MY_PN_INIT/#S/s}-${MY_PV}
+
+# shorewall-core
+MY_PN_CORE=Shorewall-core
+MY_P_CORE=${MY_PN_CORE/#S/s}-${MY_PV}
+
+# shorewall-docs-html
+MY_PN_DOCS=Shorewall-docs-html
+MY_P_DOCS=${MY_PN_DOCS/#S/s}-${MY_PV}
+
+# Upstream URL schema:
+# Beta: $MIRROR/pub/shorewall/development/4.6/shorewall-4.6.4-Beta2/shorewall-4.6.4-Beta2.tar.bz2
+# RC: $MIRROR/pub/shorewall/development/4.6/shorewall-4.6.4-RC1/shorewall-4.6.4-RC1.tar.bz2
+# Release: $MIRROR/pub/shorewall/4.6/shorewall-4.6.3/shorewall-4.6.3.3.tar.bz2
+
+MY_URL_PREFIX=
+MY_URL_SUFFIX=
+if [[ ${MY_PV} = *-Beta* ]] || [[ ${MY_PV} = *-RC* ]]; then
+ MY_URL_PREFIX='development/'
+
+ _tmp_last_index=$(($(get_last_version_component_index ${MY_PV})+1))
+ _tmp_suffix=$(get_version_component_range ${_tmp_last_index} ${MY_PV})
+ if [[ ${_tmp_suffix} = *Beta* ]] || [[ ${_tmp_suffix} = *RC* ]]; then
+ MY_URL_SUFFIX="-${_tmp_suffix}"
+ fi
+
+ # Cleaning up temporary variables
+ unset _tmp_last_index
+ unset _tmp_suffix
+else
+ KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+fi
+
+SRC_URI="
+ http://www.shorewall.net/pub/shorewall/${MY_URL_PREFIX}${MY_MAJOR_RELEASE_NUMBER}/shorewall-${MY_MAJORMINOR_RELEASE_NUMBER}${MY_URL_SUFFIX}/shorewall-core-${MY_PV}.tar.bz2
+ ipv4? ( http://www.shorewall.net/pub/shorewall/${MY_URL_PREFIX}${MY_MAJOR_RELEASE_NUMBER}/shorewall-${MY_MAJORMINOR_RELEASE_NUMBER}${MY_URL_SUFFIX}/shorewall-${MY_PV}.tar.bz2 )
+ ipv6? ( http://www.shorewall.net/pub/shorewall/${MY_URL_PREFIX}${MY_MAJOR_RELEASE_NUMBER}/shorewall-${MY_MAJORMINOR_RELEASE_NUMBER}${MY_URL_SUFFIX}/shorewall6-${MY_PV}.tar.bz2 )
+ lite4? ( http://www.shorewall.net/pub/shorewall/${MY_URL_PREFIX}${MY_MAJOR_RELEASE_NUMBER}/shorewall-${MY_MAJORMINOR_RELEASE_NUMBER}${MY_URL_SUFFIX}/shorewall-lite-${MY_PV}.tar.bz2 )
+ lite6? ( http://www.shorewall.net/pub/shorewall/${MY_URL_PREFIX}${MY_MAJOR_RELEASE_NUMBER}/shorewall-${MY_MAJORMINOR_RELEASE_NUMBER}${MY_URL_SUFFIX}/shorewall6-lite-${MY_PV}.tar.bz2 )
+ init? ( http://www.shorewall.net/pub/shorewall/${MY_URL_PREFIX}${MY_MAJOR_RELEASE_NUMBER}/shorewall-${MY_MAJORMINOR_RELEASE_NUMBER}${MY_URL_SUFFIX}/shorewall-init-${MY_PV}.tar.bz2 )
+ doc? ( http://www.shorewall.net/pub/shorewall/${MY_URL_PREFIX}${MY_MAJOR_RELEASE_NUMBER}/shorewall-${MY_MAJORMINOR_RELEASE_NUMBER}${MY_URL_SUFFIX}/${MY_P_DOCS}.tar.bz2 )
+"
+
+# - Shorewall6 requires Shorewall
+# - Installing Shorewall-init or just the documentation doesn't make any sense,
+# that's why we force the user to select at least one "real" Shorewall product
+#
+# See http://shorewall.net/download.htm#Which
+REQUIRED_USE="
+ ipv6? ( ipv4 )
+ || ( ipv4 lite4 lite6 )
+"
+
+# No build dependencies! Just plain shell scripts...
+DEPEND=""
+
+RDEPEND="
+ >=net-firewall/iptables-1.4.20
+ >=sys-apps/iproute2-3.8.0[-minimal]
+ >=sys-devel/bc-1.06.95
+ ipv4? (
+ >=dev-lang/perl-5.16
+ virtual/perl-Digest-SHA
+ )
+ ipv6? (
+ >=dev-perl/Socket6-0.230.0
+ >=net-firewall/iptables-1.4.20[ipv6]
+ >=sys-apps/iproute2-3.8.0[ipv6]
+ )
+ lite6? (
+ >=net-firewall/iptables-1.4.20[ipv6]
+ >=sys-apps/iproute2-3.8.0[ipv6]
+ )
+ init? ( >=sys-apps/coreutils-8.20 )
+ selinux? ( >=sec-policy/selinux-shorewall-2.20161023-r3 )
+ !net-firewall/shorewall-core
+ !net-firewall/shorewall6
+ !net-firewall/shorewall-lite
+ !net-firewall/shorewall6-lite
+ !net-firewall/shorewall-init
+ !<sys-apps/systemd-214
+"
+
+S=${WORKDIR}
+
+pkg_pretend() {
+ local CONFIG_CHECK="~NF_CONNTRACK"
+
+ local WARNING_CONNTRACK="Without NF_CONNTRACK support, you will be unable"
+ local WARNING_CONNTRACK+=" to run any shorewall-based firewall on the local system."
+
+ if use ipv4 || use lite4; then
+ CONFIG_CHECK="${CONFIG_CHECK} ~NF_CONNTRACK_IPV4"
+
+ local WARNING_CONNTRACK_IPV4="Without NF_CONNTRACK_IPV4 support, you will"
+ local WARNING_CONNTRACK_IPV4+=" be unable to run any shorewall-based IPv4 firewall on the local system."
+ fi
+
+ if use ipv6 || use lite6; then
+ CONFIG_CHECK="${CONFIG_CHECK} ~NF_CONNTRACK_IPV6"
+
+ local WARNING_CONNTRACK_IPV6="Without NF_CONNTRACK_IPV6 support, you will"
+ local WARNING_CONNTRACK_IPV6+=" be unable to run any shorewall-based IPv6 firewall on the local system."
+ fi
+
+ check_extra_config
+}
+
+pkg_setup() {
+ if [[ -n "${DIGEST}" ]]; then
+ einfo "Unsetting environment variable \"DIGEST\" to prevent conflicts with package's \"install.sh\" script ..."
+ unset DIGEST
+ fi
+}
+
+src_prepare() {
+ # We are moving each unpacked source from MY_P_* to MY_PN_*.
+ # This allows us to use patches from upstream and keeps epatch_user working
+
+ einfo "Preparing shorewallrc ..."
+ cp "${FILESDIR}"/shorewallrc-r1 "${S}"/shorewallrc.gentoo || die "Copying shorewallrc failed"
+ eprefixify "${S}"/shorewallrc.gentoo
+
+ # shorewall-core
+ mv "${S}"/${MY_P_CORE} "${S}"/${MY_PN_CORE} || die "Failed to move '${S}/${MY_P_CORE}' to '${S}/${MY_PN_CORE}'"
+ ebegin "Applying Gentoo-specific changes to ${MY_P_CORE} ..."
+ ln -s ../shorewallrc.gentoo ${MY_PN_CORE}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
+ eend 0
+
+ # shorewall
+ if use ipv4; then
+ mv "${S}"/${MY_P_IPV4} "${S}"/${MY_PN_IPV4} || die "Failed to move '${S}/${MY_P_IPV4}' to '${S}/${MY_PN_IPV4}'"
+ ebegin "Applying Gentoo-specific changes to ${MY_P_IPV4}"
+ ln -s ../shorewallrc.gentoo ${MY_PN_IPV4}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
+ cp "${FILESDIR}"/shorewall.confd-r1 "${S}"/${MY_PN_IPV4}/default.gentoo || die "Copying shorewall.confd-r1 failed"
+ cp "${FILESDIR}"/shorewall.initd-r2 "${S}"/${MY_PN_IPV4}/init.gentoo.sh || die "Copying shorewall.initd-r2 failed"
+ cp "${FILESDIR}"/shorewall.systemd "${S}"/${MY_PN_IPV4}/gentoo.service || die "Copying shorewall.systemd failed"
+ eend 0
+ fi
+
+ # shorewall6
+ if use ipv6; then
+ mv "${S}"/${MY_P_IPV6} "${S}"/${MY_PN_IPV6} || die "Failed to move '${S}/${MY_P_IPV6}' to '${S}/${MY_PN_IPV6}'"
+ ebegin "Applying Gentoo-specific changes to ${MY_P_IPV6}"
+ ln -s ../shorewallrc.gentoo ${MY_PN_IPV6}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
+ cp "${FILESDIR}"/shorewall.confd-r1 "${S}"/${MY_PN_IPV6}/default.gentoo || die "Copying shorewall.confd-r1 failed"
+ cp "${FILESDIR}"/shorewall.initd-r2 "${S}"/${MY_PN_IPV6}/init.gentoo.sh || die "Copying shorewall.initd-r2 failed"
+ cp "${FILESDIR}"/shorewall6.systemd "${S}"/${MY_PN_IPV6}/gentoo.service || die "Copying shorewall6.systemd failed"
+ eend 0
+ fi
+
+ # shorewall-lite
+ if use lite4; then
+ mv "${S}"/${MY_P_LITE4} "${S}"/${MY_PN_LITE4} || die "Failed to move '${S}/${MY_P_LITE4}' to '${S}/${MY_PN_LITE4}'"
+ ebegin "Applying Gentoo-specific changes to ${MY_P_LITE4}"
+ ln -s ../shorewallrc.gentoo ${MY_PN_LITE4}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
+ cp "${FILESDIR}"/shorewall-lite.confd-r1 "${S}"/${MY_PN_LITE4}/default.gentoo || die "Copying shorewall-lite.confd-r1 failed"
+ cp "${FILESDIR}"/shorewall-lite.initd-r2 "${S}"/${MY_PN_LITE4}/init.gentoo.sh || die "Copying shorewall-lite.initd-r2 failed"
+ cp "${FILESDIR}"/shorewall-lite.systemd "${S}"/${MY_PN_LITE4}/gentoo.service || die "Copying shorewall-lite.systemd failed"
+ eend 0
+ fi
+
+ # shorewall6-lite
+ if use lite6; then
+ mv "${S}"/${MY_P_LITE6} "${S}"/${MY_PN_LITE6} || die "Failed to move '${S}/${MY_P_LITE6}' to '${S}/${MY_PN_LITE6}'"
+ ebegin "Applying Gentoo-specific changes to ${MY_P_LITE6}"
+ ln -s ../shorewallrc.gentoo ${MY_PN_LITE6}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
+ cp "${FILESDIR}"/shorewall-lite.confd-r1 "${S}"/${MY_PN_LITE6}/default.gentoo || die "Copying shorewall-lite.confd-r1 failed"
+ cp "${FILESDIR}"/shorewall-lite.initd-r2 "${S}"/${MY_PN_LITE6}/init.gentoo.sh || die "Copying shorewall-lite.initd-r2 failed"
+ cp "${FILESDIR}"/shorewall6-lite.systemd "${S}"/${MY_PN_LITE6}/gentoo.service || die "Copying shorewall6-lite.systemd failed"
+ eend 0
+ fi
+
+ # shorewall-init
+ if use init; then
+ mv "${S}"/${MY_P_INIT} "${S}"/${MY_PN_INIT} || die "Failed to move '${S}/${MY_P_INIT}' to '${S}/${MY_PN_INIT}'"
+ ebegin "Applying Gentoo-specific changes to ${MY_P_INIT}"
+ ln -s ../shorewallrc.gentoo ${MY_PN_INIT}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
+ cp "${FILESDIR}"/shorewall-init.confd "${S}"/${MY_PN_INIT}/default.gentoo || die "Copying shorewall-init.confd failed"
+ cp "${FILESDIR}"/shorewall-init.initd "${S}"/${MY_PN_INIT}/init.gentoo.sh || die "Copying shorewall-init.initd failed"
+ cp "${FILESDIR}"/shorewall-init.systemd "${S}"/${MY_PN_INIT}/gentoo.service || die "Copying shorewall-init.systemd failed"
+ cp "${FILESDIR}"/shorewall-init.readme "${S}"/${MY_PN_INIT}/shorewall-init.README.Gentoo.txt || die "Copying shorewall-init.systemd failed"
+ eend 0
+
+ eprefixify "${S}"/${MY_PN_INIT}/init.gentoo.sh
+
+ cd "${S}"/${MY_PN_INIT} || die
+ eapply -p2 "${FILESDIR}"/shorewall-init-01_remove-ipset-functionality-r1.patch
+ cd "${S}" || die
+ fi
+
+ # shorewall-docs-html
+ if use doc; then
+ mv "${S}"/${MY_P_DOCS} "${S}"/${MY_PN_DOCS} || die "Failed to move '${S}/${MY_P_DOCS}' to '${S}/${MY_PN_DOCS}'"
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ :;
+}
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ # shorewall-core
+ einfo "Installing ${MY_P_CORE} ..."
+ DESTDIR="${D%/}" ${MY_PN_CORE}/install.sh shorewallrc.gentoo || die "${MY_PN_CORE}/install.sh failed"
+ dodoc "${S}"/${MY_PN_CORE}/changelog.txt "${S}"/${MY_PN_CORE}/releasenotes.txt
+
+ # shorewall
+ if use ipv4; then
+ einfo "Installing ${MY_P_IPV4} ..."
+ DESTDIR="${D%/}" ${MY_PN_IPV4}/install.sh shorewallrc.gentoo || die "${MY_PN_IPV4}/install.sh failed"
+ keepdir /var/lib/shorewall
+
+ if use doc; then
+ dodoc -r "${S}"/${MY_PN_IPV4}/Samples
+ fi
+ fi
+
+ # shorewall6
+ if use ipv6; then
+ einfo "Installing ${MY_P_IPV6} ..."
+ DESTDIR="${D%/}" ${MY_PN_IPV6}/install.sh shorewallrc.gentoo || die "${MY_PN_IPV6}/install.sh failed"
+ keepdir /var/lib/shorewall6
+
+ if use doc; then
+ dodoc -r "${S}"/${MY_PN_IPV6}/Samples6
+ fi
+ fi
+
+ # shorewall-lite
+ if use lite4; then
+ einfo "Installing ${MY_P_LITE4} ..."
+ DESTDIR="${D%/}" ${MY_PN_LITE4}/install.sh shorewallrc.gentoo || die "${MY_PN_LITE4}/install.sh failed"
+ keepdir /var/lib/shorewall-lite
+ fi
+
+ # shorewall6-lite
+ if use lite6; then
+ einfo "Installing ${MY_P_LITE6} ..."
+ DESTDIR="${D%/}" ${MY_PN_LITE6}/install.sh shorewallrc.gentoo || die "${MY_PN_LITE6}/install.sh failed"
+ keepdir /var/lib/shorewall6-lite
+ fi
+
+ # shorewall-init
+ if use init; then
+ einfo "Installing ${MY_P_INIT} ..."
+ DESTDIR="${D%/}" ${MY_PN_INIT}/install.sh shorewallrc.gentoo || die "${MY_PN_INIT}/install.sh failed"
+ dodoc "${S}"/${MY_PN_INIT}/shorewall-init.README.Gentoo.txt
+
+ if [[ -f "${D}etc/logrotate.d/shorewall-init" ]]; then
+ # On Gentoo, shorewall-init will not create shorewall-ifupdown.log,
+ # so we don't need a logrotate configuration file for shorewall-init
+ einfo "Removing unused \"${D}etc/logrotate.d/shorewall-init\" ..."
+ rm -rf "${D}"etc/logrotate.d/shorewall-init || die "Removing \"${D}etc/logrotate.d/shorewall-init\" failed"
+ fi
+
+ if [[ -d "${D}etc/NetworkManager" ]]; then
+ # On Gentoo, we don't support NetworkManager
+ # so we don't need this folder at all
+ einfo "Removing unused \"${D}etc/NetworkManager\" ..."
+ rm -rf "${D}"etc/NetworkManager || die "Removing \"${D}etc/NetworkManager\" failed"
+ fi
+
+ if [[ -f "${D}usr/share/shorewall-init/ifupdown" ]]; then
+ # This script isn't supported on Gentoo
+ rm -rf "${D}"usr/share/shorewall-init/ifupdown || die "Removing \"${D}usr/share/shorewall-init/ifupdown\" failed"
+ fi
+ fi
+
+ if use doc; then
+ einfo "Installing ${MY_P_DOCS} ..."
+ docinto html && dodoc -r "${S}"/${MY_PN_DOCS}/*
+ fi
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+
+ # Show first steps for shorewall/shorewall6
+ local _PRODUCTS=""
+ if use ipv4; then
+ _PRODUCTS="shorewall"
+
+ if use ipv6; then
+ _PRODUCTS="${_PRODUCTS}/shorewall6"
+ fi
+ fi
+
+ if [[ -n "${_PRODUCTS}" ]]; then
+ elog "Before you can use ${_PRODUCTS}, you need to edit its configuration in:"
+ elog ""
+ elog " /etc/shorewall/shorewall.conf"
+
+ if use ipv6; then
+ elog " /etc/shorewall6/shorewall6.conf"
+ fi
+
+ elog ""
+ elog "To activate your shorewall-based firewall on system start, please add ${_PRODUCTS} to your default runlevel:"
+ elog ""
+ elog " # rc-update add shorewall default"
+
+ if use ipv6; then
+ elog " # rc-update add shorewall6 default"
+ fi
+ fi
+
+ # Show first steps for shorewall-lite/shorewall6-lite
+ _PRODUCTS=""
+ if use lite4; then
+ _PRODUCTS="shorewall-lite"
+ fi
+
+ if use lite6; then
+ if [[ -z "${_PRODUCTS}" ]]; then
+ _PRODUCTS="shorewall6-lite"
+ else
+ _PRODUCTS="${_PRODUCTS}/shorewall6-lite"
+ fi
+ fi
+
+ if [[ -n "${_PRODUCTS}" ]]; then
+ if use ipv4; then
+ elog ""
+ fi
+
+ elog "Before you can use ${_PRODUCTS}, you need to provide a configuration, which you can"
+ elog "create using ${CATEGORY}/shorewall (with \"ipv4\" and or \"ipv6\" USE flag)."
+ elog ""
+ elog "To read more about ${_PRODUCTS}, please visit"
+ elog " http://shorewall.net/CompiledPrograms.html"
+ elog ""
+ elog "To activate your shorewall-lite-based firewall on system start, please add ${PRODUCTS} to your default runlevel:"
+ elog ""
+
+ if use lite4; then
+ elog " # rc-update add shorewall-lite default"
+ fi
+
+ if use lite6; then
+ elog " # rc-update add shorewall6-lite default"
+ fi
+ fi
+
+ if use init; then
+ elog ""
+ elog "To secure your system on boot, please add shorewall-init to your boot runlevel:"
+ elog ""
+ elog " # rc-update add shorewall-init boot"
+ elog ""
+ elog "and review \$PRODUCTS in"
+ elog ""
+ elog " /etc/conf.d/shorewall-init"
+ fi
+
+ fi
+
+ local v
+ for v in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least ${MY_MAJOR_RELEASE_NUMBER} ${v}; then
+ # This is an upgrade
+
+ elog "You are upgrading from a previous major version. It is highly recommended that you read"
+ elog ""
+ elog " - /usr/share/doc/shorewall*/releasenotes.tx*"
+ elog " - http://shorewall.net/Shorewall-5.html#idp51151872"
+
+ if use ipv4; then
+ elog ""
+ elog "You can auto-migrate your configuration using"
+ elog ""
+ elog " # shorewall update -A"
+
+ if use ipv6; then
+ elog " # shorewall6 update -A"
+ fi
+
+ elog ""
+ elog "*after* you have merged the changed files using one of the configuration"
+ elog "files update tools of your choice (dispatch-conf, etc-update...)."
+
+ elog ""
+ elog "But if you are not familiar with the \"shorewall[6] update\" command,"
+ elog "please read the shorewall[6] man page first."
+ fi
+
+ # Show this elog only once
+ break
+ fi
+ done
+
+ if ! use init; then
+ elog ""
+ elog "Consider emerging ${CATEGORY}/${PN} with USE flag \"init\" to secure your system on boot"
+ elog "before your shorewall-based firewall is ready to start."
+ elog ""
+ elog "To read more about shorewall-init, please visit"
+ elog " http://www.shorewall.net/Shorewall-init.html"
+ fi
+
+ if ! has_version "net-firewall/conntrack-tools"; then
+ elog ""
+ elog "Your Shorewall firewall can utilize \"conntrack\" from the \"net-firewall/conntrack-tools\""
+ elog "package. if you want to use this feature, you need to install \"net-firewall/conntrack-tools\"!"
+ fi
+
+ if ! has_version "dev-perl/Devel-NYTProf"; then
+ elog ""
+ elog "If you want to profile your Shorewall firewall you need to install \"dev-perl/Devel-NYTProf\"!"
+ fi
+}