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: Thu, 26 May 2016 19:16:25
Message-Id: 1464289956.5a86ec1811c6cb2350cbd28eba68c7fe2eeef78f.blueness@gentoo
1 commit: 5a86ec1811c6cb2350cbd28eba68c7fe2eeef78f
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Thu May 26 19:12:36 2016 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Thu May 26 19:12:36 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a86ec18
7
8 net-firewall/xtables-addons: version bump to 2.11
9
10 Package-Manager: portage-2.2.28
11
12 net-firewall/xtables-addons/Manifest | 1 +
13 .../xtables-addons/xtables-addons-2.11.ebuild | 186 +++++++++++++++++++++
14 2 files changed, 187 insertions(+)
15
16 diff --git a/net-firewall/xtables-addons/Manifest b/net-firewall/xtables-addons/Manifest
17 index 0086192..562dfa7 100644
18 --- a/net-firewall/xtables-addons/Manifest
19 +++ b/net-firewall/xtables-addons/Manifest
20 @@ -1,4 +1,5 @@
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.8.tar.xz 320864 SHA256 08af8c85ff00ee76469741bb9eb97454903680213dc3e0602266bcbb08788490 SHA512 337a0f9f8e1236a14977b1f60f82e9f6ea4b3d1134fb4ff29cdb7edfca54501639760e8f855ac803e259660a9a5afd7366770543e2f077346cb5dda8ef80462e WHIRLPOOL b09d0d05143ce052372827487e85b7e4c9674809007624371edb4a28155e7e6b605fa2518ba494f1a11cc7e3419675a69cea966a5d79fcfeaf9e273996e059ed
25 DIST xtables-addons-2.9.tar.xz 320876 SHA256 648f6cd17ba41916df5bb605e617b2f18461090139e67d7cf5c5bd8a04c701b0 SHA512 a77de4f61445974918e546e983f623250e10d8d1e506d94f1ca9081331aefde040164a83001b22769ba59efe7125a381808aa6adfd08ef734afdf0fc20d2bccb WHIRLPOOL aaf50b08579be6fa49ed54f8fae8628f21525bd752c2ceee80e5989a606ddfdd77adac7091e1e54049f49549fdf21f582df41113e0c1909a95c5130effa0979d
26
27 diff --git a/net-firewall/xtables-addons/xtables-addons-2.11.ebuild b/net-firewall/xtables-addons/xtables-addons-2.11.ebuild
28 new file mode 100644
29 index 0000000..9a87a44
30 --- /dev/null
31 +++ b/net-firewall/xtables-addons/xtables-addons-2.11.ebuild
32 @@ -0,0 +1,186 @@
33 +# Copyright 1999-2016 Gentoo Foundation
34 +# Distributed under the terms of the GNU General Public License v2
35 +# $Id$
36 +
37 +EAPI="5"
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.4.5"
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 3 7 && die "${P} requires kernel version >= 3.7, if you have older kernel please use 1.x version instead"
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 +
201 +src_configure() {
202 + set_arch_to_kernel # .. or it'll look for /arch/amd64/Makefile
203 + econf --prefix="${EPREFIX}/" \
204 + --libexecdir="${EPREFIX}/$(get_libdir)/" \
205 + --with-kbuild="${KV_DIR}"
206 +}
207 +
208 +src_compile() {
209 + emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)" V=1
210 + use modules && BUILD_PARAMS="V=1" BUILD_TARGETS="modules" linux-mod_src_compile
211 +}
212 +
213 +src_install() {
214 + emake DESTDIR="${D}" install
215 + use modules && linux-mod_src_install
216 + dodoc -r README doc/*
217 + find "${ED}" -type f -name '*.la' -exec rm -rf '{}' '+'
218 +}