Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-firewall/shorewall/
Date: Thu, 22 Feb 2018 00:34:28
Message-Id: 1519259657.ea1e0e9284663160b2b635c81c858eb1234447e0.whissi@gentoo
1 commit: ea1e0e9284663160b2b635c81c858eb1234447e0
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Thu Feb 22 00:34:02 2018 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Thu Feb 22 00:34:17 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea1e0e92
7
8 net-firewall/shorewall: Bump to v5.1.12.2
9
10 Ebuild changes:
11 ===============
12 - Move "keepdir" call for /var/lib/$PRODUCT after installation because
13 install script cleans up any existing directory.
14
15 Package-Manager: Portage-2.3.24, Repoman-2.3.6
16
17 net-firewall/shorewall/Manifest | 7 +
18 net-firewall/shorewall/shorewall-5.1.12.2.ebuild | 456 +++++++++++++++++++++++
19 2 files changed, 463 insertions(+)
20
21 diff --git a/net-firewall/shorewall/Manifest b/net-firewall/shorewall/Manifest
22 index e07440d881e..5803f52be0d 100644
23 --- a/net-firewall/shorewall/Manifest
24 +++ b/net-firewall/shorewall/Manifest
25 @@ -1,14 +1,21 @@
26 DIST shorewall-5.1.11.2.tar.bz2 551818 BLAKE2B f0bc4b7f55e0e5189b50c1fb274229c4485802ea891256cb39c1bb89ff90b8a7e6c46d095fcedc9900ff211d218627c7822db9abc5e3bb6d6764be75b2462f01 SHA512 d214d497b70a56e40af115148907fd36cfc3daa8bd8689605cdc52c0312a0843d081f8c6a33f725cfd6778b400a91eb5c5d538f5083c8ac27f72652ce026714c
27 DIST shorewall-5.1.12.1.tar.bz2 554575 BLAKE2B 1f49f5fb2dec41f6f1040c82c2a95bc1b658d3add16d385a0166fc3cb9fca8bdfcb594d620b969243b71420c9de15bc84ef4d0648dde9328794fb6383d0e6468 SHA512 7b79a0f849dc24680ab99bae4345857ef70d20cda5e089c74c339b5483cacdfbbff72ae671729bdba87d5940e66b32ccd5e00f6d62a3e2d65577edbf5a305986
28 +DIST shorewall-5.1.12.2.tar.bz2 555472 BLAKE2B 4eaf7cf1256c4edd5d5bc134a501077d3705d6dd32717234d14566e556267d63181506e9498d50f168b0ebf9c2bebe50dc4087dcd8f2aea5834870fdfe1fb476 SHA512 7cfff999f245da3fa992cd67f18f8b13919e31d95da3dda1920cb0f883766bd5bf8e514a2db09f3fd386b7780dfdc0b811c4fbafa82f459f96dc78dd2e6fc4a4
29 DIST shorewall-core-5.1.11.2.tar.bz2 85166 BLAKE2B 7e6d3d858163fa6ab20a3b663bc59339c4d2a244f0f4b00a125e48a45739dadaa102a4c8637e662db5452967bcc36b0ee95752c0d92bcfd8cd9dcaaf6d03fadc SHA512 6951a4d3139bd624ecc654a1992dba367cee84d6de218f20d6c2929b34de51a6a53f94061e1e9dc286094312ece75f113e123983c80de0f450d6e786093c6030
30 DIST shorewall-core-5.1.12.1.tar.bz2 85905 BLAKE2B f867d690c0c3ef8582b5418cf2a45200b5298db9f978d2d5531a4fee157298017b38e98beec0c243aa1009a138e92faa8e19fcf38f88ed030781d4a149fdd26a SHA512 d3f8e347fe2b0c9590830d297e6cea8a830c16467e461fd1d422138850ab80d0eb67213c26f0ca594d04b86d99999bf47800c57b47ae25bd064aa56d9e70fa66
31 +DIST shorewall-core-5.1.12.2.tar.bz2 86246 BLAKE2B c1e14fd42aadf97298ffe4ebee666ba1098142ef076a5086b45632b2f1063389756fadfbd4e35dd7958300da97d1c01e77fe234987119579d6e5588a409bbeff SHA512 457bf0db6c7b5d83895b471bcd40fa21f2f60007a819be4f9a805f79a0ba268b9ac522374519e8c95e21c99e80dbc27f8d7dc87ac078a9c8c8353cde526211fd
32 DIST shorewall-docs-html-5.1.11.2.tar.bz2 4281096 BLAKE2B 467d5fc2dd5d2dc6a8064b86439160f4f227b6903e5d84e9824a9e3a2504eec11b2957d39536dfe4edba426b439837c5dccb584ff061e61a7409f377a8599b4e SHA512 807c996c6c7a58a5f13d687025055ba4c5a3c94bff9e227e8fe8da71a909cd428bce163faac59e3d2463f9884f7f46a48c1f661daeec94f9a8c97aa0bd092cbb
33 DIST shorewall-docs-html-5.1.12.1.tar.bz2 4281459 BLAKE2B 4696dcf2ebe6a3a2c9078b4081393b040481f6769ecff381512a40d97d0ba52042b3e6f3c74361917b2623a4ecaae1c76409ef4f543eb6feaab2077f96250cb5 SHA512 96f6015c9ad4a42432143f5e2411d051bc55004c6479d53b6d8b071052f309aa30df858ac2452fe1d80f2e0071d05c2fa6eee12a70065726f9e775cc2f909575
34 +DIST shorewall-docs-html-5.1.12.2.tar.bz2 4281009 BLAKE2B 6b16fd7556e7985b95a9c7cbf3c2dc9e9bb6988989569558f09dc7210b14f4624a9d4d75682325a3e4427c9d7fde8c5285dbe0673259122c8b7a806e08f85bb2 SHA512 1460a06fccda7e32a0ebb9f7ce0628c7a50abed37d48148222aa587b87ece249f8e3722c6628590f3d47d3b5ec25e7d2cfc246b42777e15e8a11565dbdbec070
35 DIST shorewall-init-5.1.11.2.tar.bz2 40214 BLAKE2B e793d272b80e849ad85e0f54e88d7b0817356c35f44669a478ba30ba8d0f4f274e44d5cfb84468896d8aa743126cbdd4bce35b10f3d952c3377294344f95b562 SHA512 5ff9d85c8412cbe6ba9d0124cd3711febef14980c428ca2a4974cd82217ddf28f7dd4a8ca35900c4a59a0c47a407d45da2bedff7b0c92770c11c9761a390e417
36 DIST shorewall-init-5.1.12.1.tar.bz2 41044 BLAKE2B e38a1f085e74720949ebca053c175fce405699120684b1165a00e5e357cef0b288dc9f0cfa7001795cd626226aed60f286e9939e537e5eaef0bf908f96db2c9a SHA512 e3394c5ca5edbe09941b9ef26e68a606673b13a3a3bf97e3d74a2f7c78cae50611a7f429ec322d3bf105b4b52fbef184cd286eb557af65515f0a6178e3431266
37 +DIST shorewall-init-5.1.12.2.tar.bz2 41371 BLAKE2B 1ab0101c7d456aa21031d8aceab978e6cb98a5a14a30cb75fa46bef97ac0222418f94079433bb09e9d908eb44e9cd13a5a2bb42983054d4c09a96fe23fd83bd5 SHA512 ef6d3283023117f7c990d75f0569b06edb72568e7c6a848f9d77ef812951c54322771360bc2004fd6d74d0d9f3e8fc91b0b4ddeda6232e91173c5ca5b13d686e
38 DIST shorewall-lite-5.1.11.2.tar.bz2 45821 BLAKE2B a51f745a111a2aa8c824f625bcdb779c019555d8e68323dec21d20c96054241cb69b74c25664ef7e51737bae959a567c24cc5b8ab771ee5a613bd889af20e870 SHA512 75dd0e7612f5e5903bdd1a54a152ac98fb277e464a856b4ef7cbb5f5d9d67eb19de29dcc994f4b0cb3b60af68e47c0a8e19d7e33e72a8a34d71992dc043bd88f
39 DIST shorewall-lite-5.1.12.1.tar.bz2 46683 BLAKE2B d8429721ce76bb6b73d8f49bd2ec75c484cd48e732b17c49923a40cb23647a6f2de84d0d8ed798ae2ea89d5ec0cc9a1c367a13175224320f7868298481261ad0 SHA512 37146a1d9bb82b6de69f46b727fb2fa66a0933e13799008716b74d882d28607329795911e9843e0bdf5e5324954c8a7fe14a0e4995184ee38d69ab9c3408deed
40 +DIST shorewall-lite-5.1.12.2.tar.bz2 47045 BLAKE2B 09d8881848fab61501e7bb5b993fb0dd2b58fc7323aa741bf6847e40c9ffdfaa0dca965785a8f7c18405b434fd0cea15c434b46f42988027bd99c881996e42ae SHA512 e9a2596430b89e6356ec211d6eb94d2815041c269603274f5c102249a0ec1b24d5d3787dbdc876045a0ba41af76afa514f13e6e199358e045ab4ecb4d2b5e2f5
41 DIST shorewall6-5.1.11.2.tar.bz2 195491 BLAKE2B fd9d05e9b30037fead69add2ca62e0fbbfc2481212485f3f67935c2a062f5fa97378c74e88093b81b218445e4068014f5dedead3370a7ad2424a4ccdd1ad175c SHA512 5488679f2e10bb9ff8b5d66276b068d7acc111256d06f3e1c46863948edc9b5734c3289720c5b3e444f7f9eb25fc3603f676d02df50929802f0e1d582e23f997
42 DIST shorewall6-5.1.12.1.tar.bz2 196607 BLAKE2B 35d29ccd73184b6905fffa60d209b4bd91cfe05bee73f7205f24ac178f78f74a2b847342c9f27435279fc2bfd7e5e840842d6c1333245f0a04b811d1fc2a94a5 SHA512 bd982de71d53cb1f669c293c825295a2eebe70f52b98bd0a172b13b119d5daa17a14ce9c79a97a41dbf740d4864bf5ee22b40c2bb22401bffb7a84fb911d88cc
43 +DIST shorewall6-5.1.12.2.tar.bz2 197371 BLAKE2B 3a171bc819e8d4cd757c843222168f8b5b5749baf064d53a42d4d2f8dfcc75e9d8782b5fc31a4a2d520bdc332164197c5c893de47e5abdad6a036ba06db2d1bf SHA512 fe99cd78cd96a8ad78b46ea9c41858c915eee33dea993054ac6ddfe6ab50d2e90fa7af4c9d1e8efdd8153b5ff37f9c8fc831447a5997e819c82f8497a24a1d52
44 DIST shorewall6-lite-5.1.11.2.tar.bz2 45581 BLAKE2B 760b29fb864a942f15bba5a88cd2933ed6791533ed2492c1985567253c2cd8f02c4931552c0b8ad35599099de70bca2d0f5b2219b98298ec9541ba3f16bac035 SHA512 d5db740f4dbe86ae31d44123de0f0244bf8caa880e9f29cb19590a9a2abcc1b17ef5ba0cd0b40c5bf843415857d988cacb079a4aae7016148be1f71afd8433de
45 DIST shorewall6-lite-5.1.12.1.tar.bz2 46365 BLAKE2B eb3fdaabdc11d5d2694964d69ae452e52557eff6539a1eb0de3bf607252f52515d285c858b0a75b1ff35ef02c62031ab9c510517e9e5aaeb5f6b860b50156ce3 SHA512 1992cfbc2ca4c9e4b004e10c1b0bf73157da2cdf2fe03ecc8ad9a33e941d7881565c00bd68abec6e8711c58d8df03b0dc1c413639ef7015661fb4ef79151a78e
46 +DIST shorewall6-lite-5.1.12.2.tar.bz2 46746 BLAKE2B e38af0dff71fb3fc00ca7d7b5ba034650016060be3202f6284ff1ca82070eeb5e0e5cb448230b4e8614bdf0ddd71d28c3d0b022d30d6ed0ea0446c85e07cb0b3 SHA512 133409bf4dc004e4eb80c28e6e035331232dddd87b6fd512077947fcb05f10390360cb3f1918d441ed268f20f09c3bfd0a7952f9252cd8e39de9c6d617f2399d
47
48 diff --git a/net-firewall/shorewall/shorewall-5.1.12.2.ebuild b/net-firewall/shorewall/shorewall-5.1.12.2.ebuild
49 new file mode 100644
50 index 00000000000..d073bcb9296
51 --- /dev/null
52 +++ b/net-firewall/shorewall/shorewall-5.1.12.2.ebuild
53 @@ -0,0 +1,456 @@
54 +# Copyright 1999-2018 Gentoo Foundation
55 +# Distributed under the terms of the GNU General Public License v2
56 +
57 +EAPI="6"
58 +
59 +inherit linux-info prefix systemd versionator
60 +
61 +DESCRIPTION='A high-level tool for configuring Netfilter'
62 +HOMEPAGE="http://www.shorewall.net/"
63 +LICENSE="GPL-2"
64 +SLOT="0"
65 +IUSE="doc +init +ipv4 ipv6 lite4 lite6 selinux"
66 +
67 +MY_PV=${PV/_rc/-RC}
68 +MY_PV=${MY_PV/_beta/-Beta}
69 +MY_P=${PN}-${MY_PV}
70 +
71 +MY_MAJOR_RELEASE_NUMBER=$(get_version_component_range 1-2)
72 +MY_MAJORMINOR_RELEASE_NUMBER=$(get_version_component_range 1-3)
73 +
74 +# shorewall
75 +MY_PN_IPV4=Shorewall
76 +MY_P_IPV4=${MY_PN_IPV4/#S/s}-${MY_PV}
77 +
78 +# shorewall6
79 +MY_PN_IPV6=Shorewall6
80 +MY_P_IPV6=${MY_PN_IPV6/#S/s}-${MY_PV}
81 +
82 +# shorewall-lite
83 +MY_PN_LITE4=Shorewall-lite
84 +MY_P_LITE4=${MY_PN_LITE4/#S/s}-${MY_PV}
85 +
86 +# shorewall6-lite
87 +MY_PN_LITE6=Shorewall6-lite
88 +MY_P_LITE6=${MY_PN_LITE6/#S/s}-${MY_PV}
89 +
90 +# shorewall-init
91 +MY_PN_INIT=Shorewall-init
92 +MY_P_INIT=${MY_PN_INIT/#S/s}-${MY_PV}
93 +
94 +# shorewall-core
95 +MY_PN_CORE=Shorewall-core
96 +MY_P_CORE=${MY_PN_CORE/#S/s}-${MY_PV}
97 +
98 +# shorewall-docs-html
99 +MY_PN_DOCS=Shorewall-docs-html
100 +MY_P_DOCS=${MY_PN_DOCS/#S/s}-${MY_PV}
101 +
102 +# Upstream URL schema:
103 +# Beta: $MIRROR/pub/shorewall/development/4.6/shorewall-4.6.4-Beta2/shorewall-4.6.4-Beta2.tar.bz2
104 +# RC: $MIRROR/pub/shorewall/development/4.6/shorewall-4.6.4-RC1/shorewall-4.6.4-RC1.tar.bz2
105 +# Release: $MIRROR/pub/shorewall/4.6/shorewall-4.6.3/shorewall-4.6.3.3.tar.bz2
106 +
107 +MY_URL_PREFIX=
108 +MY_URL_SUFFIX=
109 +if [[ ${MY_PV} = *-Beta* ]] || [[ ${MY_PV} = *-RC* ]]; then
110 + MY_URL_PREFIX='development/'
111 +
112 + _tmp_last_index=$(($(get_last_version_component_index ${MY_PV})+1))
113 + _tmp_suffix=$(get_version_component_range ${_tmp_last_index} ${MY_PV})
114 + if [[ ${_tmp_suffix} = *Beta* ]] || [[ ${_tmp_suffix} = *RC* ]]; then
115 + MY_URL_SUFFIX="-${_tmp_suffix}"
116 + fi
117 +
118 + # Cleaning up temporary variables
119 + unset _tmp_last_index
120 + unset _tmp_suffix
121 +else
122 + KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
123 +fi
124 +
125 +SRC_URI="
126 + 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
127 + 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 )
128 + 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 )
129 + 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 )
130 + 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 )
131 + 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 )
132 + 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 )
133 +"
134 +
135 +# - Shorewall6 requires Shorewall
136 +# - Installing Shorewall-init or just the documentation doesn't make any sense,
137 +# that's why we force the user to select at least one "real" Shorewall product
138 +#
139 +# See http://shorewall.net/download.htm#Which
140 +REQUIRED_USE="
141 + ipv6? ( ipv4 )
142 + || ( ipv4 lite4 lite6 )
143 +"
144 +
145 +# No build dependencies! Just plain shell scripts...
146 +DEPEND=""
147 +
148 +RDEPEND="
149 + >=net-firewall/iptables-1.4.20
150 + >=sys-apps/iproute2-3.8.0[-minimal]
151 + >=sys-devel/bc-1.06.95
152 + ipv4? (
153 + >=dev-lang/perl-5.16
154 + virtual/perl-Digest-SHA
155 + )
156 + ipv6? (
157 + >=dev-perl/Socket6-0.230.0
158 + >=net-firewall/iptables-1.4.20[ipv6]
159 + >=sys-apps/iproute2-3.8.0[ipv6]
160 + )
161 + lite6? (
162 + >=net-firewall/iptables-1.4.20[ipv6]
163 + >=sys-apps/iproute2-3.8.0[ipv6]
164 + )
165 + init? ( >=sys-apps/coreutils-8.20 )
166 + selinux? ( >=sec-policy/selinux-shorewall-2.20161023-r3 )
167 + !net-firewall/shorewall-core
168 + !net-firewall/shorewall6
169 + !net-firewall/shorewall-lite
170 + !net-firewall/shorewall6-lite
171 + !net-firewall/shorewall-init
172 + !<sys-apps/systemd-214
173 +"
174 +
175 +S=${WORKDIR}
176 +
177 +pkg_pretend() {
178 + local CONFIG_CHECK="~NF_CONNTRACK"
179 +
180 + local WARNING_CONNTRACK="Without NF_CONNTRACK support, you will be unable"
181 + local WARNING_CONNTRACK+=" to run any shorewall-based firewall on the local system."
182 +
183 + if use ipv4 || use lite4; then
184 + CONFIG_CHECK="${CONFIG_CHECK} ~NF_CONNTRACK_IPV4"
185 +
186 + local WARNING_CONNTRACK_IPV4="Without NF_CONNTRACK_IPV4 support, you will"
187 + local WARNING_CONNTRACK_IPV4+=" be unable to run any shorewall-based IPv4 firewall on the local system."
188 + fi
189 +
190 + if use ipv6 || use lite6; then
191 + CONFIG_CHECK="${CONFIG_CHECK} ~NF_CONNTRACK_IPV6"
192 +
193 + local WARNING_CONNTRACK_IPV6="Without NF_CONNTRACK_IPV6 support, you will"
194 + local WARNING_CONNTRACK_IPV6+=" be unable to run any shorewall-based IPv6 firewall on the local system."
195 + fi
196 +
197 + check_extra_config
198 +}
199 +
200 +pkg_setup() {
201 + if [[ -n "${DIGEST}" ]]; then
202 + einfo "Unsetting environment variable \"DIGEST\" to prevent conflicts with package's \"install.sh\" script ..."
203 + unset DIGEST
204 + fi
205 +}
206 +
207 +src_prepare() {
208 + # We are moving each unpacked source from MY_P_* to MY_PN_*.
209 + # This allows us to use patches from upstream and keeps epatch_user working
210 +
211 + einfo "Preparing shorewallrc ..."
212 + cp "${FILESDIR}"/shorewallrc-r1 "${S}"/shorewallrc.gentoo || die "Copying shorewallrc failed"
213 + eprefixify "${S}"/shorewallrc.gentoo
214 +
215 + # shorewall-core
216 + mv "${S}"/${MY_P_CORE} "${S}"/${MY_PN_CORE} || die "Failed to move '${S}/${MY_P_CORE}' to '${S}/${MY_PN_CORE}'"
217 + ebegin "Applying Gentoo-specific changes to ${MY_P_CORE} ..."
218 + ln -s ../shorewallrc.gentoo ${MY_PN_CORE}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
219 + eend 0
220 +
221 + # shorewall
222 + if use ipv4; then
223 + mv "${S}"/${MY_P_IPV4} "${S}"/${MY_PN_IPV4} || die "Failed to move '${S}/${MY_P_IPV4}' to '${S}/${MY_PN_IPV4}'"
224 + ebegin "Applying Gentoo-specific changes to ${MY_P_IPV4}"
225 + ln -s ../shorewallrc.gentoo ${MY_PN_IPV4}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
226 + cp "${FILESDIR}"/shorewall.confd-r1 "${S}"/${MY_PN_IPV4}/default.gentoo || die "Copying shorewall.confd-r1 failed"
227 + cp "${FILESDIR}"/shorewall.initd-r2 "${S}"/${MY_PN_IPV4}/init.gentoo.sh || die "Copying shorewall.initd-r2 failed"
228 + cp "${FILESDIR}"/shorewall.systemd "${S}"/${MY_PN_IPV4}/gentoo.service || die "Copying shorewall.systemd failed"
229 + eend 0
230 + fi
231 +
232 + # shorewall6
233 + if use ipv6; then
234 + mv "${S}"/${MY_P_IPV6} "${S}"/${MY_PN_IPV6} || die "Failed to move '${S}/${MY_P_IPV6}' to '${S}/${MY_PN_IPV6}'"
235 + ebegin "Applying Gentoo-specific changes to ${MY_P_IPV6}"
236 + ln -s ../shorewallrc.gentoo ${MY_PN_IPV6}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
237 + cp "${FILESDIR}"/shorewall.confd-r1 "${S}"/${MY_PN_IPV6}/default.gentoo || die "Copying shorewall.confd-r1 failed"
238 + cp "${FILESDIR}"/shorewall.initd-r2 "${S}"/${MY_PN_IPV6}/init.gentoo.sh || die "Copying shorewall.initd-r2 failed"
239 + cp "${FILESDIR}"/shorewall6.systemd "${S}"/${MY_PN_IPV6}/gentoo.service || die "Copying shorewall6.systemd failed"
240 + eend 0
241 + fi
242 +
243 + # shorewall-lite
244 + if use lite4; then
245 + mv "${S}"/${MY_P_LITE4} "${S}"/${MY_PN_LITE4} || die "Failed to move '${S}/${MY_P_LITE4}' to '${S}/${MY_PN_LITE4}'"
246 + ebegin "Applying Gentoo-specific changes to ${MY_P_LITE4}"
247 + ln -s ../shorewallrc.gentoo ${MY_PN_LITE4}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
248 + cp "${FILESDIR}"/shorewall-lite.confd-r1 "${S}"/${MY_PN_LITE4}/default.gentoo || die "Copying shorewall-lite.confd-r1 failed"
249 + cp "${FILESDIR}"/shorewall-lite.initd-r2 "${S}"/${MY_PN_LITE4}/init.gentoo.sh || die "Copying shorewall-lite.initd-r2 failed"
250 + cp "${FILESDIR}"/shorewall-lite.systemd "${S}"/${MY_PN_LITE4}/gentoo.service || die "Copying shorewall-lite.systemd failed"
251 + eend 0
252 + fi
253 +
254 + # shorewall6-lite
255 + if use lite6; then
256 + mv "${S}"/${MY_P_LITE6} "${S}"/${MY_PN_LITE6} || die "Failed to move '${S}/${MY_P_LITE6}' to '${S}/${MY_PN_LITE6}'"
257 + ebegin "Applying Gentoo-specific changes to ${MY_P_LITE6}"
258 + ln -s ../shorewallrc.gentoo ${MY_PN_LITE6}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
259 + cp "${FILESDIR}"/shorewall-lite.confd-r1 "${S}"/${MY_PN_LITE6}/default.gentoo || die "Copying shorewall-lite.confd-r1 failed"
260 + cp "${FILESDIR}"/shorewall-lite.initd-r2 "${S}"/${MY_PN_LITE6}/init.gentoo.sh || die "Copying shorewall-lite.initd-r2 failed"
261 + cp "${FILESDIR}"/shorewall6-lite.systemd "${S}"/${MY_PN_LITE6}/gentoo.service || die "Copying shorewall6-lite.systemd failed"
262 + eend 0
263 + fi
264 +
265 + # shorewall-init
266 + if use init; then
267 + mv "${S}"/${MY_P_INIT} "${S}"/${MY_PN_INIT} || die "Failed to move '${S}/${MY_P_INIT}' to '${S}/${MY_PN_INIT}'"
268 + ebegin "Applying Gentoo-specific changes to ${MY_P_INIT}"
269 + ln -s ../shorewallrc.gentoo ${MY_PN_INIT}/shorewallrc.gentoo || die "Failed to symlink shorewallrc.gentoo"
270 + cp "${FILESDIR}"/shorewall-init.confd "${S}"/${MY_PN_INIT}/default.gentoo || die "Copying shorewall-init.confd failed"
271 + cp "${FILESDIR}"/shorewall-init.initd "${S}"/${MY_PN_INIT}/init.gentoo.sh || die "Copying shorewall-init.initd failed"
272 + cp "${FILESDIR}"/shorewall-init.systemd "${S}"/${MY_PN_INIT}/gentoo.service || die "Copying shorewall-init.systemd failed"
273 + cp "${FILESDIR}"/shorewall-init.readme "${S}"/${MY_PN_INIT}/shorewall-init.README.Gentoo.txt || die "Copying shorewall-init.systemd failed"
274 + eend 0
275 +
276 + eprefixify "${S}"/${MY_PN_INIT}/init.gentoo.sh
277 +
278 + cd "${S}"/${MY_PN_INIT} || die
279 + eapply -p2 "${FILESDIR}"/shorewall-init-01_remove-ipset-functionality-r1.patch
280 + cd "${S}" || die
281 + fi
282 +
283 + # shorewall-docs-html
284 + if use doc; then
285 + mv "${S}"/${MY_P_DOCS} "${S}"/${MY_PN_DOCS} || die "Failed to move '${S}/${MY_P_DOCS}' to '${S}/${MY_PN_DOCS}'"
286 + fi
287 +
288 + eapply_user
289 +}
290 +
291 +src_configure() {
292 + :;
293 +}
294 +
295 +src_compile() {
296 + :;
297 +}
298 +
299 +src_install() {
300 + # shorewall-core
301 + einfo "Installing ${MY_P_CORE} ..."
302 + DESTDIR="${D%/}" ${MY_PN_CORE}/install.sh shorewallrc.gentoo || die "${MY_PN_CORE}/install.sh failed"
303 + dodoc "${S}"/${MY_PN_CORE}/changelog.txt "${S}"/${MY_PN_CORE}/releasenotes.txt
304 +
305 + # shorewall
306 + if use ipv4; then
307 + einfo "Installing ${MY_P_IPV4} ..."
308 + DESTDIR="${D%/}" ${MY_PN_IPV4}/install.sh shorewallrc.gentoo || die "${MY_PN_IPV4}/install.sh failed"
309 + keepdir /var/lib/shorewall
310 +
311 + if use doc; then
312 + dodoc -r "${S}"/${MY_PN_IPV4}/Samples
313 + fi
314 + fi
315 +
316 + # shorewall6
317 + if use ipv6; then
318 + einfo "Installing ${MY_P_IPV6} ..."
319 + DESTDIR="${D%/}" ${MY_PN_IPV6}/install.sh shorewallrc.gentoo || die "${MY_PN_IPV6}/install.sh failed"
320 + keepdir /var/lib/shorewall6
321 +
322 + if use doc; then
323 + dodoc -r "${S}"/${MY_PN_IPV6}/Samples6
324 + fi
325 + fi
326 +
327 + # shorewall-lite
328 + if use lite4; then
329 + einfo "Installing ${MY_P_LITE4} ..."
330 + DESTDIR="${D%/}" ${MY_PN_LITE4}/install.sh shorewallrc.gentoo || die "${MY_PN_LITE4}/install.sh failed"
331 + keepdir /var/lib/shorewall-lite
332 + fi
333 +
334 + # shorewall6-lite
335 + if use lite6; then
336 + einfo "Installing ${MY_P_LITE6} ..."
337 + DESTDIR="${D%/}" ${MY_PN_LITE6}/install.sh shorewallrc.gentoo || die "${MY_PN_LITE6}/install.sh failed"
338 + keepdir /var/lib/shorewall6-lite
339 + fi
340 +
341 + # shorewall-init
342 + if use init; then
343 + einfo "Installing ${MY_P_INIT} ..."
344 + DESTDIR="${D%/}" ${MY_PN_INIT}/install.sh shorewallrc.gentoo || die "${MY_PN_INIT}/install.sh failed"
345 + dodoc "${S}"/${MY_PN_INIT}/shorewall-init.README.Gentoo.txt
346 +
347 + if [[ -f "${D}etc/logrotate.d/shorewall-init" ]]; then
348 + # On Gentoo, shorewall-init will not create shorewall-ifupdown.log,
349 + # so we don't need a logrotate configuration file for shorewall-init
350 + einfo "Removing unused \"${D}etc/logrotate.d/shorewall-init\" ..."
351 + rm -rf "${D}"etc/logrotate.d/shorewall-init || die "Removing \"${D}etc/logrotate.d/shorewall-init\" failed"
352 + fi
353 +
354 + if [[ -d "${D}etc/NetworkManager" ]]; then
355 + # On Gentoo, we don't support NetworkManager
356 + # so we don't need this folder at all
357 + einfo "Removing unused \"${D}etc/NetworkManager\" ..."
358 + rm -rf "${D}"etc/NetworkManager || die "Removing \"${D}etc/NetworkManager\" failed"
359 + fi
360 +
361 + if [[ -f "${D}usr/share/shorewall-init/ifupdown" ]]; then
362 + # This script isn't supported on Gentoo
363 + rm -rf "${D}"usr/share/shorewall-init/ifupdown || die "Removing \"${D}usr/share/shorewall-init/ifupdown\" failed"
364 + fi
365 + fi
366 +
367 + if use doc; then
368 + einfo "Installing ${MY_P_DOCS} ..."
369 + docinto html && dodoc -r "${S}"/${MY_PN_DOCS}/*
370 + fi
371 +}
372 +
373 +pkg_postinst() {
374 + if [[ -z "${REPLACING_VERSIONS}" ]]; then
375 + # This is a new installation
376 +
377 + # Show first steps for shorewall/shorewall6
378 + local _PRODUCTS=""
379 + if use ipv4; then
380 + _PRODUCTS="shorewall"
381 +
382 + if use ipv6; then
383 + _PRODUCTS="${_PRODUCTS}/shorewall6"
384 + fi
385 + fi
386 +
387 + if [[ -n "${_PRODUCTS}" ]]; then
388 + elog "Before you can use ${_PRODUCTS}, you need to edit its configuration in:"
389 + elog ""
390 + elog " /etc/shorewall/shorewall.conf"
391 +
392 + if use ipv6; then
393 + elog " /etc/shorewall6/shorewall6.conf"
394 + fi
395 +
396 + elog ""
397 + elog "To activate your shorewall-based firewall on system start, please add ${_PRODUCTS} to your default runlevel:"
398 + elog ""
399 + elog " # rc-update add shorewall default"
400 +
401 + if use ipv6; then
402 + elog " # rc-update add shorewall6 default"
403 + fi
404 + fi
405 +
406 + # Show first steps for shorewall-lite/shorewall6-lite
407 + _PRODUCTS=""
408 + if use lite4; then
409 + _PRODUCTS="shorewall-lite"
410 + fi
411 +
412 + if use lite6; then
413 + if [[ -z "${_PRODUCTS}" ]]; then
414 + _PRODUCTS="shorewall6-lite"
415 + else
416 + _PRODUCTS="${_PRODUCTS}/shorewall6-lite"
417 + fi
418 + fi
419 +
420 + if [[ -n "${_PRODUCTS}" ]]; then
421 + if use ipv4; then
422 + elog ""
423 + fi
424 +
425 + elog "Before you can use ${_PRODUCTS}, you need to provide a configuration, which you can"
426 + elog "create using ${CATEGORY}/shorewall (with \"ipv4\" and or \"ipv6\" USE flag)."
427 + elog ""
428 + elog "To read more about ${_PRODUCTS}, please visit"
429 + elog " http://shorewall.net/CompiledPrograms.html"
430 + elog ""
431 + elog "To activate your shorewall-lite-based firewall on system start, please add ${PRODUCTS} to your default runlevel:"
432 + elog ""
433 +
434 + if use lite4; then
435 + elog " # rc-update add shorewall-lite default"
436 + fi
437 +
438 + if use lite6; then
439 + elog " # rc-update add shorewall6-lite default"
440 + fi
441 + fi
442 +
443 + if use init; then
444 + elog ""
445 + elog "To secure your system on boot, please add shorewall-init to your boot runlevel:"
446 + elog ""
447 + elog " # rc-update add shorewall-init boot"
448 + elog ""
449 + elog "and review \$PRODUCTS in"
450 + elog ""
451 + elog " /etc/conf.d/shorewall-init"
452 + fi
453 +
454 + fi
455 +
456 + local v
457 + for v in ${REPLACING_VERSIONS}; do
458 + if ! version_is_at_least ${MY_MAJOR_RELEASE_NUMBER} ${v}; then
459 + # This is an upgrade
460 +
461 + elog "You are upgrading from a previous major version. It is highly recommended that you read"
462 + elog ""
463 + elog " - /usr/share/doc/shorewall*/releasenotes.tx*"
464 + elog " - http://shorewall.net/Shorewall-5.html#idp51151872"
465 +
466 + if use ipv4; then
467 + elog ""
468 + elog "You can auto-migrate your configuration using"
469 + elog ""
470 + elog " # shorewall update -A"
471 +
472 + if use ipv6; then
473 + elog " # shorewall6 update -A"
474 + fi
475 +
476 + elog ""
477 + elog "*after* you have merged the changed files using one of the configuration"
478 + elog "files update tools of your choice (dispatch-conf, etc-update...)."
479 +
480 + elog ""
481 + elog "But if you are not familiar with the \"shorewall[6] update\" command,"
482 + elog "please read the shorewall[6] man page first."
483 + fi
484 +
485 + # Show this elog only once
486 + break
487 + fi
488 + done
489 +
490 + if ! use init; then
491 + elog ""
492 + elog "Consider emerging ${CATEGORY}/${PN} with USE flag \"init\" to secure your system on boot"
493 + elog "before your shorewall-based firewall is ready to start."
494 + elog ""
495 + elog "To read more about shorewall-init, please visit"
496 + elog " http://www.shorewall.net/Shorewall-init.html"
497 + fi
498 +
499 + if ! has_version "net-firewall/conntrack-tools"; then
500 + elog ""
501 + elog "Your Shorewall firewall can utilize \"conntrack\" from the \"net-firewall/conntrack-tools\""
502 + elog "package. if you want to use this feature, you need to install \"net-firewall/conntrack-tools\"!"
503 + fi
504 +
505 + if ! has_version "dev-perl/Devel-NYTProf"; then
506 + elog ""
507 + elog "If you want to profile your Shorewall firewall you need to install \"dev-perl/Devel-NYTProf\"!"
508 + fi
509 +}