Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-firewall/xtables-addons/
Date: Wed, 12 Sep 2018 21:23:26
Message-Id: 1536787393.946887fa830c1a83c9543dd86976b168526aa506.blueness@gentoo
1 commit: 946887fa830c1a83c9543dd86976b168526aa506
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Wed Sep 12 21:22:48 2018 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 12 21:23:13 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=946887fa
7
8 net-firewall/xtables-addons: version bump to 3.1 and 3.2
9
10 Package-Manager: Portage-2.3.40, Repoman-2.3.9
11
12 net-firewall/xtables-addons/Manifest | 2 +
13 .../xtables-addons/xtables-addons-3.1.ebuild | 187 +++++++++++++++++++++
14 .../xtables-addons/xtables-addons-3.2.ebuild | 187 +++++++++++++++++++++
15 3 files changed, 376 insertions(+)
16
17 diff --git a/net-firewall/xtables-addons/Manifest b/net-firewall/xtables-addons/Manifest
18 index 6c922aa722f..99495a00e94 100644
19 --- a/net-firewall/xtables-addons/Manifest
20 +++ b/net-firewall/xtables-addons/Manifest
21 @@ -1,3 +1,5 @@
22 DIST xtables-addons-2.13.tar.xz 322116 BLAKE2B 31d12adcfdf2043b44b5789f3ba3215197ff48d378b20fd6406f6afd22739e04069f08f32214a2230ec797469b236788dbebef079855539994db69be358ec421 SHA512 51cfa963d6f2f931b0361746e0b48f5ecf43a14e9e8d5297ef55faf0e9f8d1deb4641e88e3fea2afdbb3e39dd06d414de6057fb4a21e5184d4ea3d21b8028497
23 DIST xtables-addons-2.14.tar.xz 322296 BLAKE2B f739951ff535f73be8c96b271f929821fd708cb4615a3e6c2528d9bd2574c8d801c6ac6b59f23f5054b29c31a94f90c7d3f7628b09fb78dc2e7f7da87e5af0a1 SHA512 f3d49c53aa01fadc334906e580f16605849fe7be83637fa73d51b48ded0e77c368c544ad69fa97b53a6688eaa3ba63bab489c150a9e02205e8044cdd521f4752
24 DIST xtables-addons-3.0.tar.xz 321960 BLAKE2B ce6e034ab42fda319217b464a2c3c639787a696d58739cc7ba8e1c699894c46590c34490c8ccc41c29b8dbfb4ad01859050bdeccbac08d09f297a49cdc920c6e SHA512 164b43ff23f33187b5f557bedf765fbad21721b236ac5f5e982c5fdf88cdcbf8ca106810d2df31d9ab79e9c518f7fec3d7dae297540d0b00326a0dfffd04cfec
25 +DIST xtables-addons-3.1.tar.xz 323684 BLAKE2B eb75bf41c7ca2f1b1dc41bb7c602de8856e86db244a4e247e3089037e176d5f84e472719e7fc31836e898b615f8b6630ddeacf0754807e6684a22aa593550b1a SHA512 d9cbd3278ac156b3edb024bad98dab2bb1f83546aacf038b85b9203064e301de17c638dae4e05ea907b00b4038377e9aefebb65367ffc335b149f7e17596d931
26 +DIST xtables-addons-3.2.tar.xz 323608 BLAKE2B a23ae7d779d7cb2f77f2c0cceae54c1b73fa9dcb9dab22a83c2af22562d2c1b1d0a6df7eef7809961d1cb0484793a65a57259af4934b3e7fe624c20c397ce215 SHA512 57b02aec83765ad407a813cc8bb5ba471739da09ee8177094592833d1eaa54300ce06b326e9897cb80f563bdaec24b33d42c2cdb72f8a0ec8f86b085fcc6494d
27
28 diff --git a/net-firewall/xtables-addons/xtables-addons-3.1.ebuild b/net-firewall/xtables-addons/xtables-addons-3.1.ebuild
29 new file mode 100644
30 index 00000000000..7a72a0a8673
31 --- /dev/null
32 +++ b/net-firewall/xtables-addons/xtables-addons-3.1.ebuild
33 @@ -0,0 +1,187 @@
34 +# Copyright 1999-2018 Gentoo Foundation
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI="6"
38 +
39 +inherit eutils linux-info linux-mod multilib
40 +
41 +DESCRIPTION="iptables extensions not yet accepted in the main kernel"
42 +HOMEPAGE="http://xtables-addons.sourceforge.net/"
43 +SRC_URI="mirror://sourceforge/xtables-addons/${P}.tar.xz"
44 +
45 +LICENSE="GPL-2"
46 +SLOT="0"
47 +KEYWORDS="~amd64 ~x86"
48 +IUSE="modules"
49 +
50 +MODULES="quota2 psd pknock lscan length2 ipv4options ipp2p iface gradm geoip fuzzy condition tarpit sysrq logmark ipmark echo dnetmap dhcpmac delude chaos account"
51 +
52 +for mod in ${MODULES}; do
53 + IUSE="${IUSE} xtables_addons_${mod}"
54 +done
55 +
56 +DEPEND=">=net-firewall/iptables-1.6.0"
57 +
58 +RDEPEND="${DEPEND}
59 + xtables_addons_geoip? (
60 + app-arch/unzip
61 + dev-perl/Text-CSV_XS
62 + virtual/perl-Getopt-Long
63 + )
64 +"
65 +
66 +DEPEND="${DEPEND}
67 + virtual/linux-sources"
68 +
69 +SKIP_MODULES=""
70 +
71 +XA_check4internal_module() {
72 + local mod=${1}
73 + local version=${3}
74 + local kconfigname=${3}
75 +
76 + if use xtables_addons_${mod} && kernel_is -gt ${version}; then
77 + ewarn "${kconfigname} should be provided by the kernel. Skipping its build..."
78 + if ! linux_chkconfig_present ${kconfigname}; then
79 + ewarn "Please enable ${kconfigname} target in your kernel
80 + configuration or disable checksum module in ${PN}."
81 + fi
82 + # SKIP_MODULES in case we need to disable building of everything
83 + # like having this USE disabled
84 + SKIP_MODULES+=" ${mod}"
85 + fi
86 +}
87 +
88 +pkg_setup() {
89 + if use modules; then
90 + get_version
91 + check_modules_supported
92 + CONFIG_CHECK="NF_CONNTRACK NF_CONNTRACK_MARK ~CONNECTOR"
93 + ERROR_CONNECTOR="Please, enable CONFIG_CONNECTOR if you wish to receive userspace notifications from pknock through netlink/connector"
94 + linux-mod_pkg_setup
95 +
96 + if ! linux_chkconfig_present IPV6; then
97 + SKIP_IPV6_MODULES="ip6table_rawpost"
98 + ewarn "No IPV6 support in kernel. Disabling: ${SKIP_IPV6_MODULES}"
99 + fi
100 + kernel_is -lt 4 18 && die "${P} requires kernel version >= 4.18"
101 + fi
102 +}
103 +
104 +# Helper for maintainer: cheks if all possible MODULES are listed.
105 +XA_qa_check() {
106 + local all_modules
107 + all_modules=$(sed -n '/^build_/{s/build_\(.*\)=.*/\L\1/;G;s/\n/ /;s/ $//;h}; ${x;p}' "${S}/mconfig")
108 + if [[ ${all_modules} != ${MODULES} ]]; then
109 + ewarn "QA: Modules in mconfig differ from \$MODULES in ebuild."
110 + ewarn "Please, update MODULES in ebuild."
111 + ewarn "'${all_modules}'"
112 + fi
113 +}
114 +
115 +# Is there any use flag set?
116 +XA_has_something_to_build() {
117 + local mod
118 + for mod in ${MODULES}; do
119 + use xtables_addons_${mod} && return
120 + done
121 +
122 + eerror "All modules are disabled. What do you want me to build?"
123 + eerror "Please, set XTABLES_ADDONS to any combination of"
124 + eerror "${MODULES}"
125 + die "All modules are disabled."
126 +}
127 +
128 +# Parse Kbuid files and generates list of sources
129 +XA_get_module_name() {
130 + [[ $# != 1 ]] && die "XA_get_sources_for_mod: needs exactly one argument."
131 + local mod objdir build_mod sources_list
132 + mod=${1}
133 + objdir=${S}/extensions
134 + # Take modules name from mconfig
135 + build_mod=$(sed -n "s/\(build_${mod}\)=.*/\1/Ip" "${S}/mconfig")
136 + # strip .o, = and everything before = and print
137 + sources_list=$(sed -n "/^obj-[$][{]${build_mod}[}]/\
138 + {s:obj-[^+]\+ [+]=[[:space:]]*::;s:[.]o::g;p}" \
139 + "${objdir}/Kbuild")
140 +
141 + if [[ -d ${S}/extensions/${sources_list} ]]; then
142 + objdir=${S}/extensions/${sources_list}
143 + sources_list=$(sed -n "/^obj-m/\
144 + {s:obj-[^+]\+ [+]=[[:space:]]*::;s:[.]o::g;p}" \
145 + "${objdir}/Kbuild")
146 + fi
147 + for mod_src in ${sources_list}; do
148 + has ${mod_src} ${SKIP_IPV6_MODULES} || \
149 + echo " ${mod_src}(xtables_addons:${S}/extensions:${objdir})"
150 + done
151 +}
152 +
153 +# Die on modules known to fail on certain kernel version.
154 +XA_known_failure() {
155 + local module_name=$1
156 + local KV_max=$2
157 +
158 + if use xtables_addons_${module_name} && kernel_is ge ${KV_max//./ }; then
159 + eerror
160 + eerror "XTABLES_ADDONS=${module_name} fails to build on linux ${KV_max} or above."
161 + eerror "Either remove XTABLES_ADDONS=${module_name} or use an earlier version of the kernel."
162 + eerror
163 + die
164 + fi
165 +}
166 +
167 +src_prepare() {
168 + XA_qa_check
169 + XA_has_something_to_build
170 +
171 + # Bug #553630#c2. echo fails on linux-4 and above.
172 + # This appears to be fixed, at least as of linux-4.2
173 + # XA_known_failure "echo" 4
174 +
175 + local mod module_name
176 + if use modules; then
177 + MODULE_NAMES="compat_xtables(xtables_addons:${S}/extensions:)"
178 + fi
179 + for mod in ${MODULES}; do
180 + if ! has ${mod} ${SKIP_MODULES} && use xtables_addons_${mod}; then
181 + sed "s/\(build_${mod}=\).*/\1m/I" -i mconfig || die
182 + if use modules; then
183 + for module_name in $(XA_get_module_name ${mod}); do
184 + MODULE_NAMES+=" ${module_name}"
185 + done
186 + fi
187 + else
188 + sed "s/\(build_${mod}=\).*/\1n/I" -i mconfig || die
189 + fi
190 + done
191 + einfo "${MODULE_NAMES}" # for debugging
192 +
193 + sed -e 's/depmod -a/true/' -i Makefile.in || die
194 + sed -e '/^all-local:/{s: modules::}' \
195 + -e '/^install-exec-local:/{s: modules_install::}' \
196 + -i extensions/Makefile.in || die
197 +
198 + use xtables_addons_geoip || sed -e '/^SUBDIRS/{s/geoip//}' -i Makefile.in
199 +
200 + eapply_user
201 +}
202 +
203 +src_configure() {
204 + set_arch_to_kernel # .. or it'll look for /arch/amd64/Makefile
205 + econf --prefix="${EPREFIX}/" \
206 + --libexecdir="${EPREFIX}/$(get_libdir)/" \
207 + --with-kbuild="${KV_OUT_DIR}"
208 +}
209 +
210 +src_compile() {
211 + emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)" V=1
212 + use modules && BUILD_PARAMS="V=1" BUILD_TARGETS="modules" linux-mod_src_compile
213 +}
214 +
215 +src_install() {
216 + emake DESTDIR="${D}" install
217 + use modules && linux-mod_src_install
218 + dodoc -r README doc/*
219 + find "${ED}" -type f -name '*.la' -exec rm -rf '{}' '+'
220 +}
221
222 diff --git a/net-firewall/xtables-addons/xtables-addons-3.2.ebuild b/net-firewall/xtables-addons/xtables-addons-3.2.ebuild
223 new file mode 100644
224 index 00000000000..7a72a0a8673
225 --- /dev/null
226 +++ b/net-firewall/xtables-addons/xtables-addons-3.2.ebuild
227 @@ -0,0 +1,187 @@
228 +# Copyright 1999-2018 Gentoo Foundation
229 +# Distributed under the terms of the GNU General Public License v2
230 +
231 +EAPI="6"
232 +
233 +inherit eutils linux-info linux-mod multilib
234 +
235 +DESCRIPTION="iptables extensions not yet accepted in the main kernel"
236 +HOMEPAGE="http://xtables-addons.sourceforge.net/"
237 +SRC_URI="mirror://sourceforge/xtables-addons/${P}.tar.xz"
238 +
239 +LICENSE="GPL-2"
240 +SLOT="0"
241 +KEYWORDS="~amd64 ~x86"
242 +IUSE="modules"
243 +
244 +MODULES="quota2 psd pknock lscan length2 ipv4options ipp2p iface gradm geoip fuzzy condition tarpit sysrq logmark ipmark echo dnetmap dhcpmac delude chaos account"
245 +
246 +for mod in ${MODULES}; do
247 + IUSE="${IUSE} xtables_addons_${mod}"
248 +done
249 +
250 +DEPEND=">=net-firewall/iptables-1.6.0"
251 +
252 +RDEPEND="${DEPEND}
253 + xtables_addons_geoip? (
254 + app-arch/unzip
255 + dev-perl/Text-CSV_XS
256 + virtual/perl-Getopt-Long
257 + )
258 +"
259 +
260 +DEPEND="${DEPEND}
261 + virtual/linux-sources"
262 +
263 +SKIP_MODULES=""
264 +
265 +XA_check4internal_module() {
266 + local mod=${1}
267 + local version=${3}
268 + local kconfigname=${3}
269 +
270 + if use xtables_addons_${mod} && kernel_is -gt ${version}; then
271 + ewarn "${kconfigname} should be provided by the kernel. Skipping its build..."
272 + if ! linux_chkconfig_present ${kconfigname}; then
273 + ewarn "Please enable ${kconfigname} target in your kernel
274 + configuration or disable checksum module in ${PN}."
275 + fi
276 + # SKIP_MODULES in case we need to disable building of everything
277 + # like having this USE disabled
278 + SKIP_MODULES+=" ${mod}"
279 + fi
280 +}
281 +
282 +pkg_setup() {
283 + if use modules; then
284 + get_version
285 + check_modules_supported
286 + CONFIG_CHECK="NF_CONNTRACK NF_CONNTRACK_MARK ~CONNECTOR"
287 + ERROR_CONNECTOR="Please, enable CONFIG_CONNECTOR if you wish to receive userspace notifications from pknock through netlink/connector"
288 + linux-mod_pkg_setup
289 +
290 + if ! linux_chkconfig_present IPV6; then
291 + SKIP_IPV6_MODULES="ip6table_rawpost"
292 + ewarn "No IPV6 support in kernel. Disabling: ${SKIP_IPV6_MODULES}"
293 + fi
294 + kernel_is -lt 4 18 && die "${P} requires kernel version >= 4.18"
295 + fi
296 +}
297 +
298 +# Helper for maintainer: cheks if all possible MODULES are listed.
299 +XA_qa_check() {
300 + local all_modules
301 + all_modules=$(sed -n '/^build_/{s/build_\(.*\)=.*/\L\1/;G;s/\n/ /;s/ $//;h}; ${x;p}' "${S}/mconfig")
302 + if [[ ${all_modules} != ${MODULES} ]]; then
303 + ewarn "QA: Modules in mconfig differ from \$MODULES in ebuild."
304 + ewarn "Please, update MODULES in ebuild."
305 + ewarn "'${all_modules}'"
306 + fi
307 +}
308 +
309 +# Is there any use flag set?
310 +XA_has_something_to_build() {
311 + local mod
312 + for mod in ${MODULES}; do
313 + use xtables_addons_${mod} && return
314 + done
315 +
316 + eerror "All modules are disabled. What do you want me to build?"
317 + eerror "Please, set XTABLES_ADDONS to any combination of"
318 + eerror "${MODULES}"
319 + die "All modules are disabled."
320 +}
321 +
322 +# Parse Kbuid files and generates list of sources
323 +XA_get_module_name() {
324 + [[ $# != 1 ]] && die "XA_get_sources_for_mod: needs exactly one argument."
325 + local mod objdir build_mod sources_list
326 + mod=${1}
327 + objdir=${S}/extensions
328 + # Take modules name from mconfig
329 + build_mod=$(sed -n "s/\(build_${mod}\)=.*/\1/Ip" "${S}/mconfig")
330 + # strip .o, = and everything before = and print
331 + sources_list=$(sed -n "/^obj-[$][{]${build_mod}[}]/\
332 + {s:obj-[^+]\+ [+]=[[:space:]]*::;s:[.]o::g;p}" \
333 + "${objdir}/Kbuild")
334 +
335 + if [[ -d ${S}/extensions/${sources_list} ]]; then
336 + objdir=${S}/extensions/${sources_list}
337 + sources_list=$(sed -n "/^obj-m/\
338 + {s:obj-[^+]\+ [+]=[[:space:]]*::;s:[.]o::g;p}" \
339 + "${objdir}/Kbuild")
340 + fi
341 + for mod_src in ${sources_list}; do
342 + has ${mod_src} ${SKIP_IPV6_MODULES} || \
343 + echo " ${mod_src}(xtables_addons:${S}/extensions:${objdir})"
344 + done
345 +}
346 +
347 +# Die on modules known to fail on certain kernel version.
348 +XA_known_failure() {
349 + local module_name=$1
350 + local KV_max=$2
351 +
352 + if use xtables_addons_${module_name} && kernel_is ge ${KV_max//./ }; then
353 + eerror
354 + eerror "XTABLES_ADDONS=${module_name} fails to build on linux ${KV_max} or above."
355 + eerror "Either remove XTABLES_ADDONS=${module_name} or use an earlier version of the kernel."
356 + eerror
357 + die
358 + fi
359 +}
360 +
361 +src_prepare() {
362 + XA_qa_check
363 + XA_has_something_to_build
364 +
365 + # Bug #553630#c2. echo fails on linux-4 and above.
366 + # This appears to be fixed, at least as of linux-4.2
367 + # XA_known_failure "echo" 4
368 +
369 + local mod module_name
370 + if use modules; then
371 + MODULE_NAMES="compat_xtables(xtables_addons:${S}/extensions:)"
372 + fi
373 + for mod in ${MODULES}; do
374 + if ! has ${mod} ${SKIP_MODULES} && use xtables_addons_${mod}; then
375 + sed "s/\(build_${mod}=\).*/\1m/I" -i mconfig || die
376 + if use modules; then
377 + for module_name in $(XA_get_module_name ${mod}); do
378 + MODULE_NAMES+=" ${module_name}"
379 + done
380 + fi
381 + else
382 + sed "s/\(build_${mod}=\).*/\1n/I" -i mconfig || die
383 + fi
384 + done
385 + einfo "${MODULE_NAMES}" # for debugging
386 +
387 + sed -e 's/depmod -a/true/' -i Makefile.in || die
388 + sed -e '/^all-local:/{s: modules::}' \
389 + -e '/^install-exec-local:/{s: modules_install::}' \
390 + -i extensions/Makefile.in || die
391 +
392 + use xtables_addons_geoip || sed -e '/^SUBDIRS/{s/geoip//}' -i Makefile.in
393 +
394 + eapply_user
395 +}
396 +
397 +src_configure() {
398 + set_arch_to_kernel # .. or it'll look for /arch/amd64/Makefile
399 + econf --prefix="${EPREFIX}/" \
400 + --libexecdir="${EPREFIX}/$(get_libdir)/" \
401 + --with-kbuild="${KV_OUT_DIR}"
402 +}
403 +
404 +src_compile() {
405 + emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)" V=1
406 + use modules && BUILD_PARAMS="V=1" BUILD_TARGETS="modules" linux-mod_src_compile
407 +}
408 +
409 +src_install() {
410 + emake DESTDIR="${D}" install
411 + use modules && linux-mod_src_install
412 + dodoc -r README doc/*
413 + find "${ED}" -type f -name '*.la' -exec rm -rf '{}' '+'
414 +}