net-firewall/ipt_netflow: Version 2.3_p20190619
authorJeroen Roovers <jer@gentoo.org>
Wed, 19 Jun 2019 05:34:35 +0000 (07:34 +0200)
committerJeroen Roovers <jer@gentoo.org>
Wed, 19 Jun 2019 05:35:43 +0000 (07:35 +0200)
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Bug: https://bugs.gentoo.org/show_bug.cgi?id=678788
Signed-off-by: Jeroen Roovers <jer@gentoo.org>
net-firewall/ipt_netflow/Manifest
net-firewall/ipt_netflow/ipt_netflow-2.3_p20190619.ebuild [new file with mode: 0644]

index 804ced3b34f2ffd898dab74b93b453bcb9114b91..d143b4e57bc9c20abd7e95aa8bddab345ed562a2 100644 (file)
@@ -1 +1,2 @@
 DIST ipt_netflow-2.3.tar.gz 90987 BLAKE2B fbe46583e58e75e3cfe5cc5ad4e8b40d5040d6642f850c560c3e8aa831effa43cba8f25907d32b3b66721f4d5d5bb8579bafa82e4b8d1c9a2225a5c748d08dd9 SHA512 e5ba66da9cae6fb9652e5532383233d433dd30dd16634734860f7e6910e46080e562e2d72c74584a86ead31156cffd4c5c44b438f617a9e5b3e5fdc1470045fc
+DIST ipt_netflow-2.3_p20190619.tar.gz 92615 BLAKE2B f6fb8e33d847a050e81edd33cc11b2088e59a838924f6f371489e219d7207afefa6211ac7d55aa54d8d1579fe95d9ec5302bb533a7cf11bdb3df8e2e7a2e5633 SHA512 0ac101d660bc37eab05bf079321edd9578f2fd3b09627f329fab4940c8e2d554a449673d557603dc33897fdd3f8a7b054ff2ceb7cc338b86176b3630f2b50cba
diff --git a/net-firewall/ipt_netflow/ipt_netflow-2.3_p20190619.ebuild b/net-firewall/ipt_netflow/ipt_netflow-2.3_p20190619.ebuild
new file mode 100644 (file)
index 0000000..07ddf25
--- /dev/null
@@ -0,0 +1,103 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit linux-info linux-mod toolchain-funcs
+
+DESCRIPTION="Netflow iptables module"
+HOMEPAGE="
+       https://sourceforge.net/projects/ipt-netflow
+       https://github.com/aabc/ipt-netflow
+"
+SRC_URI="https://github.com/aabc/ipt-netflow/archive/0e5af37bf63681ff4ee95b98466ee26fa3e4df13.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug natevents snmp"
+
+RDEPEND="
+       net-firewall/iptables:0=
+       snmp? ( net-analyzer/net-snmp )
+"
+DEPEND="${RDEPEND}
+       virtual/linux-sources
+       virtual/pkgconfig
+"
+
+# set S before MODULE_NAMES
+PATCHES=(
+       "${FILESDIR}/${PN}-2.0-configure.patch" # bug #455984
+)
+
+pkg_setup() {
+       BUILD_TARGETS="all"
+       MODULE_NAMES="ipt_NETFLOW(ipt_netflow:${S})"
+       IPT_LIB="/usr/$(get_libdir)/xtables"
+       local CONFIG_CHECK="~IP_NF_IPTABLES"
+       use debug && CONFIG_CHECK+=" ~DEBUG_FS"
+       use natevents && CONFIG_CHECK+=" NF_CONNTRACK_EVENTS NF_NAT_NEEDED"
+       linux-mod_pkg_setup
+}
+
+src_unpack() {
+       default
+
+       mv "${WORKDIR}"/${PN/_/-}-* "${WORKDIR}"/${P} || die
+}
+
+src_prepare() {
+       sed -i \
+               -e 's:make -C:$(MAKE) -C:g' \
+               -e 's:gcc -O2:$(CC) $(CFLAGS) $(LDFLAGS):' \
+               -e 's:gcc:$(CC) $(CFLAGS) $(LDFLAGS):' \
+               Makefile.in || die
+
+       # Fix incorrect module version in sources
+       sed -i -e "/IPT_NETFLOW_VERSION/s/2.2/${PV}/" ipt_NETFLOW.c || die
+
+       # Checking for directory is enough
+       sed -i -e 's:-s /etc/snmp/snmpd.conf:-d /etc/snmp:' configure || die
+
+       default
+}
+
+do_conf() {
+       tc-export CC
+       echo ./configure $*
+       ./configure $* ${EXTRA_ECONF} || die 'configure failed'
+}
+
+src_configure() {
+       local IPT_VERSION="$($(tc-getPKG_CONFIG) --modversion xtables)"
+       # this configure script is not based on autotools
+       # ipt-src need to be defined, see bug #455984
+       do_conf \
+               --disable-dkms \
+               --enable-aggregation \
+               --enable-direction \
+               --enable-macaddress \
+               --enable-vlan \
+               --ipt-lib="${IPT_LIB}" \
+               --ipt-src="/usr/" \
+               --ipt-ver="${IPT_VERSION}" \
+               --kdir="${KV_DIR}" \
+               --kver="${KV_FULL}" \
+               $(use debug && echo '--enable-debugfs') \
+               $(use natevents && echo '--enable-natevents') \
+               $(use snmp && echo '--enable-snmp-rules' || echo '--disable-snmp-agent')
+}
+
+src_compile() {
+       emake ARCH="$(tc-arch-kernel)" CC="$(tc-getCC)" all
+}
+
+src_install() {
+       linux-mod_src_install
+       exeinto "${IPT_LIB}"
+       doexe libipt_NETFLOW.so
+       use snmp && emake DESTDIR="${D}" SNMPTGSO="/usr/$(get_libdir)/snmp/dlmod/snmp_NETFLOW.so" sinstall
+       doheader ipt_NETFLOW.h
+       dodoc README*
+}