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: Sat, 28 Jan 2017 16:30:13
Message-Id: 1485621004.27fd005042065736c5d593c9fa72aff67d31cdc8.blueness@gentoo
1 commit: 27fd005042065736c5d593c9fa72aff67d31cdc8
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jan 28 16:29:43 2017 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 28 16:30:04 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27fd0050
7
8 net-firewall/xtables-addons: version bump to 2.12, fix bug #597404
9
10 Package-Manager: portage-2.3.3
11
12 net-firewall/xtables-addons/Manifest | 1 +
13 .../xtables-addons/xtables-addons-2.12.ebuild | 188 +++++++++++++++++++++
14 2 files changed, 189 insertions(+)
15
16 diff --git a/net-firewall/xtables-addons/Manifest b/net-firewall/xtables-addons/Manifest
17 index 562dfa7..6a4f7c4 100644
18 --- a/net-firewall/xtables-addons/Manifest
19 +++ b/net-firewall/xtables-addons/Manifest
20 @@ -1,5 +1,6 @@
21 DIST xtables-addons-1.47.1.tar.xz 323312 SHA256 06535dbefaa7725870750048842b4b53f5a4f8d8b16d5ce61bb4cc28e0b99326 SHA512 4920c9fae1a5b026f48562590b9221d497127197806f52f2eeba269faf8203b3da2e2ab6ff01f273ecac457d19399c42b4d163c18fa405bfe15b54f46478227d WHIRLPOOL 6654fb33c96eb052b94047445682a26f141532c2db5404ec62c29d40741a34ac9138ba1a5de494d7f1b8706a5de425b1188f79fa6195a824d2642ba506f6bdc1
22 DIST xtables-addons-2.10.tar.xz 321096 SHA256 2a2d92ae924437d757f55514502c6ef3aeccc6106f729c702efe703ad30f4007 SHA512 047e5922365f40021f8fcf832fe487759e7361979009e18cf7fd3a99d704fce1268b5eab58b6d0cd43354ee8de024852c25d8412e6b47fe5861b414c51af1938 WHIRLPOOL 0c328d8db363024b958d7b898334eefbd8098d36971fac6e50d863d8d6ec94a05257db58708cf7323f5d77b51b85d7a0ba5101f8e280cabd1cac48e109e9b3bf
23 DIST xtables-addons-2.11.tar.xz 309772 SHA256 f14f8953a9d3a70157a82883886ff6ec866c61dbea1585edb421478107279921 SHA512 28a2b7335dc478b8efc5fa25357d2e2789303232ce31a7a6da3a3742fdaa84c7d222ebb0d6f1f900652d39b9caf9b13196309429a8aecd5e0cb936b6bd9de1bb WHIRLPOOL 0806933a58176426a00f6ca93bbdfd4efbbb8cdc9267564ae7d9f89f88f3aa61f66b73781fc642424eb33f25b6649e275b7364dac50f9c63aff8d81e234b4e2e
24 +DIST xtables-addons-2.12.tar.xz 309724 SHA256 c4865aa1c64c5ff173ff7b5d69425466c71f0f9b5eb5299c52c68bdcd46fa63b SHA512 2d93dcb98969d0fb149746b2282eafbf566d0f97c74839d194c7b6cb77d50ec71469d6bbb2565dd855fe8ed6783be2fd705f21f9f7e2842aae9205174a79a6bd WHIRLPOOL 3e25eb102b6a7e6eb85ddac8176f470acc02bfad6830cfa96d7f585a6c3d42c8821fc3c29f41322b5d0ee9273fbc1b11ca29d128b24fa9470f1d7cd965fef899
25 DIST xtables-addons-2.8.tar.xz 320864 SHA256 08af8c85ff00ee76469741bb9eb97454903680213dc3e0602266bcbb08788490 SHA512 337a0f9f8e1236a14977b1f60f82e9f6ea4b3d1134fb4ff29cdb7edfca54501639760e8f855ac803e259660a9a5afd7366770543e2f077346cb5dda8ef80462e WHIRLPOOL b09d0d05143ce052372827487e85b7e4c9674809007624371edb4a28155e7e6b605fa2518ba494f1a11cc7e3419675a69cea966a5d79fcfeaf9e273996e059ed
26 DIST xtables-addons-2.9.tar.xz 320876 SHA256 648f6cd17ba41916df5bb605e617b2f18461090139e67d7cf5c5bd8a04c701b0 SHA512 a77de4f61445974918e546e983f623250e10d8d1e506d94f1ca9081331aefde040164a83001b22769ba59efe7125a381808aa6adfd08ef734afdf0fc20d2bccb WHIRLPOOL aaf50b08579be6fa49ed54f8fae8628f21525bd752c2ceee80e5989a606ddfdd77adac7091e1e54049f49549fdf21f582df41113e0c1909a95c5130effa0979d
27
28 diff --git a/net-firewall/xtables-addons/xtables-addons-2.12.ebuild b/net-firewall/xtables-addons/xtables-addons-2.12.ebuild
29 new file mode 100644
30 index 00000000..1de18c2
31 --- /dev/null
32 +++ b/net-firewall/xtables-addons/xtables-addons-2.12.ebuild
33 @@ -0,0 +1,188 @@
34 +# Copyright 1999-2017 Gentoo Foundation
35 +# Distributed under the terms of the GNU General Public License v2
36 +# $Id$
37 +
38 +EAPI="6"
39 +
40 +inherit eutils linux-info linux-mod multilib
41 +
42 +DESCRIPTION="iptables extensions not yet accepted in the main kernel"
43 +HOMEPAGE="http://xtables-addons.sourceforge.net/"
44 +SRC_URI="mirror://sourceforge/xtables-addons/${P}.tar.xz"
45 +
46 +LICENSE="GPL-2"
47 +SLOT="0"
48 +KEYWORDS="~amd64 ~x86"
49 +IUSE="modules"
50 +
51 +MODULES="quota2 psd pknock lscan length2 ipv4options ipp2p iface gradm geoip fuzzy condition tarpit sysrq logmark ipmark echo dnetmap dhcpmac delude chaos account"
52 +
53 +for mod in ${MODULES}; do
54 + IUSE="${IUSE} xtables_addons_${mod}"
55 +done
56 +
57 +DEPEND=">=net-firewall/iptables-1.4.5"
58 +
59 +RDEPEND="${DEPEND}
60 + xtables_addons_geoip? (
61 + app-arch/unzip
62 + dev-perl/Text-CSV_XS
63 + virtual/perl-Getopt-Long
64 + )
65 +"
66 +
67 +DEPEND="${DEPEND}
68 + virtual/linux-sources"
69 +
70 +SKIP_MODULES=""
71 +
72 +XA_check4internal_module() {
73 + local mod=${1}
74 + local version=${3}
75 + local kconfigname=${3}
76 +
77 + if use xtables_addons_${mod} && kernel_is -gt ${version}; then
78 + ewarn "${kconfigname} should be provided by the kernel. Skipping its build..."
79 + if ! linux_chkconfig_present ${kconfigname}; then
80 + ewarn "Please enable ${kconfigname} target in your kernel
81 + configuration or disable checksum module in ${PN}."
82 + fi
83 + # SKIP_MODULES in case we need to disable building of everything
84 + # like having this USE disabled
85 + SKIP_MODULES+=" ${mod}"
86 + fi
87 +}
88 +
89 +pkg_setup() {
90 + if use modules; then
91 + get_version
92 + check_modules_supported
93 + CONFIG_CHECK="NF_CONNTRACK NF_CONNTRACK_MARK ~CONNECTOR UNUSED_SYMBOLS"
94 + ERROR_CONNECTOR="Please, enable CONFIG_CONNECTOR if you wish to receive userspace notifications from pknock through netlink/connector"
95 + linux-mod_pkg_setup
96 +
97 + if ! linux_chkconfig_present IPV6; then
98 + SKIP_IPV6_MODULES="ip6table_rawpost"
99 + ewarn "No IPV6 support in kernel. Disabling: ${SKIP_IPV6_MODULES}"
100 + fi
101 + kernel_is -lt 3 7 && die "${P} requires kernel version >= 3.7, if you have older kernel please use 1.x version instead"
102 + fi
103 +}
104 +
105 +# Helper for maintainer: cheks if all possible MODULES are listed.
106 +XA_qa_check() {
107 + local all_modules
108 + all_modules=$(sed -n '/^build_/{s/build_\(.*\)=.*/\L\1/;G;s/\n/ /;s/ $//;h}; ${x;p}' "${S}/mconfig")
109 + if [[ ${all_modules} != ${MODULES} ]]; then
110 + ewarn "QA: Modules in mconfig differ from \$MODULES in ebuild."
111 + ewarn "Please, update MODULES in ebuild."
112 + ewarn "'${all_modules}'"
113 + fi
114 +}
115 +
116 +# Is there any use flag set?
117 +XA_has_something_to_build() {
118 + local mod
119 + for mod in ${MODULES}; do
120 + use xtables_addons_${mod} && return
121 + done
122 +
123 + eerror "All modules are disabled. What do you want me to build?"
124 + eerror "Please, set XTABLES_ADDONS to any combination of"
125 + eerror "${MODULES}"
126 + die "All modules are disabled."
127 +}
128 +
129 +# Parse Kbuid files and generates list of sources
130 +XA_get_module_name() {
131 + [[ $# != 1 ]] && die "XA_get_sources_for_mod: needs exactly one argument."
132 + local mod objdir build_mod sources_list
133 + mod=${1}
134 + objdir=${S}/extensions
135 + # Take modules name from mconfig
136 + build_mod=$(sed -n "s/\(build_${mod}\)=.*/\1/Ip" "${S}/mconfig")
137 + # strip .o, = and everything before = and print
138 + sources_list=$(sed -n "/^obj-[$][{]${build_mod}[}]/\
139 + {s:obj-[^+]\+ [+]=[[:space:]]*::;s:[.]o::g;p}" \
140 + "${objdir}/Kbuild")
141 +
142 + if [[ -d ${S}/extensions/${sources_list} ]]; then
143 + objdir=${S}/extensions/${sources_list}
144 + sources_list=$(sed -n "/^obj-m/\
145 + {s:obj-[^+]\+ [+]=[[:space:]]*::;s:[.]o::g;p}" \
146 + "${objdir}/Kbuild")
147 + fi
148 + for mod_src in ${sources_list}; do
149 + has ${mod_src} ${SKIP_IPV6_MODULES} || \
150 + echo " ${mod_src}(xtables_addons:${S}/extensions:${objdir})"
151 + done
152 +}
153 +
154 +# Die on modules known to fail on certain kernel version.
155 +XA_known_failure() {
156 + local module_name=$1
157 + local KV_max=$2
158 +
159 + if use xtables_addons_${module_name} && kernel_is ge ${KV_max//./ }; then
160 + eerror
161 + eerror "XTABLES_ADDONS=${module_name} fails to build on linux ${KV_max} or above."
162 + eerror "Either remove XTABLES_ADDONS=${module_name} or use an earlier version of the kernel."
163 + eerror
164 + die
165 + fi
166 +}
167 +
168 +src_prepare() {
169 + XA_qa_check
170 + XA_has_something_to_build
171 +
172 + # Bug #553630#c2. echo fails on linux-4 and above.
173 + # This appears to be fixed, at least as of linux-4.2
174 + # XA_known_failure "echo" 4
175 +
176 + local mod module_name
177 + if use modules; then
178 + MODULE_NAMES="compat_xtables(xtables_addons:${S}/extensions:)"
179 + fi
180 + for mod in ${MODULES}; do
181 + if ! has ${mod} ${SKIP_MODULES} && use xtables_addons_${mod}; then
182 + sed "s/\(build_${mod}=\).*/\1m/I" -i mconfig || die
183 + if use modules; then
184 + for module_name in $(XA_get_module_name ${mod}); do
185 + MODULE_NAMES+=" ${module_name}"
186 + done
187 + fi
188 + else
189 + sed "s/\(build_${mod}=\).*/\1n/I" -i mconfig || die
190 + fi
191 + done
192 + einfo "${MODULE_NAMES}" # for debugging
193 +
194 + sed -e 's/depmod -a/true/' -i Makefile.in || die
195 + sed -e '/^all-local:/{s: modules::}' \
196 + -e '/^install-exec-local:/{s: modules_install::}' \
197 + -i extensions/Makefile.in || die
198 +
199 + use xtables_addons_geoip || sed -e '/^SUBDIRS/{s/geoip//}' -i Makefile.in
200 +
201 + eapply_user
202 +}
203 +
204 +src_configure() {
205 + set_arch_to_kernel # .. or it'll look for /arch/amd64/Makefile
206 + econf --prefix="${EPREFIX}/" \
207 + --libexecdir="${EPREFIX}/$(get_libdir)/" \
208 + --with-kbuild="${KV_DIR}"
209 +}
210 +
211 +src_compile() {
212 + emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)" V=1
213 + use modules && BUILD_PARAMS="V=1" BUILD_TARGETS="modules" linux-mod_src_compile
214 +}
215 +
216 +src_install() {
217 + emake DESTDIR="${D}" install
218 + use modules && linux-mod_src_install
219 + dodoc -r README doc/*
220 + find "${ED}" -type f -name '*.la' -exec rm -rf '{}' '+'
221 +}