From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1002569-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 870731382C5
	for <garchives@archives.gentoo.org>; Sat, 10 Feb 2018 11:22:14 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 870A4E0982;
	Sat, 10 Feb 2018 11:22:13 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 569F6E0982
	for <gentoo-commits@lists.gentoo.org>; Sat, 10 Feb 2018 11:22:13 +0000 (UTC)
Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id B601D335C54
	for <gentoo-commits@lists.gentoo.org>; Sat, 10 Feb 2018 11:22:11 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 469941CD
	for <gentoo-commits@lists.gentoo.org>; Sat, 10 Feb 2018 11:22:10 +0000 (UTC)
From: "Jeroen Roovers" <jer@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Jeroen Roovers" <jer@gentoo.org>
Message-ID: <1518261728.e67466e42c6fc3c2775258cad58e1803b352e3bf.jer@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: net-firewall/ipt_netflow/, net-firewall/ipt_netflow/files/
X-VCS-Repository: repo/gentoo
X-VCS-Files: net-firewall/ipt_netflow/files/ipt_netflow-2.2-linux-4.15.patch net-firewall/ipt_netflow/ipt_netflow-2.2-r3.ebuild
X-VCS-Directories: net-firewall/ipt_netflow/files/ net-firewall/ipt_netflow/
X-VCS-Committer: jer
X-VCS-Committer-Name: Jeroen Roovers
X-VCS-Revision: e67466e42c6fc3c2775258cad58e1803b352e3bf
X-VCS-Branch: master
Date: Sat, 10 Feb 2018 11:22:10 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Archives-Salt: 102b2b4b-a8fa-4f19-b33b-6d19cd5f5359
X-Archives-Hash: 66312c0db8926fa5fc3d634de4ed1581

commit:     e67466e42c6fc3c2775258cad58e1803b352e3bf
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 10 11:21:57 2018 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Sat Feb 10 11:22:08 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e67466e4

net-firewall/ipt_netflow: Fix kernel 4.15 compatibility (bug #646798).

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../files/ipt_netflow-2.2-linux-4.15.patch         |  26 ++++++
 net-firewall/ipt_netflow/ipt_netflow-2.2-r3.ebuild | 102 +++++++++++++++++++++
 2 files changed, 128 insertions(+)

diff --git a/net-firewall/ipt_netflow/files/ipt_netflow-2.2-linux-4.15.patch b/net-firewall/ipt_netflow/files/ipt_netflow-2.2-linux-4.15.patch
new file mode 100644
index 00000000000..aa5feef3279
--- /dev/null
+++ b/net-firewall/ipt_netflow/files/ipt_netflow-2.2-linux-4.15.patch
@@ -0,0 +1,26 @@
+--- a/ipt_NETFLOW.c
++++ b/ipt_NETFLOW.c
+@@ -4357,7 +4357,11 @@
+ #define CALC_RATE(ewma, cur, minutes) ewma += _A(cur - ewma, minutes)
+ 
+ // calculate EWMA throughput rate for whole module
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
++static void rate_timer_calc(struct timer_list *t)
++#else
+ static void rate_timer_calc(unsigned long dummy)
++#endif
+ {
+	static u64 old_pkt_total = 0;
+	static u64 old_traf_total = 0;
+@@ -5525,7 +5525,11 @@
+ 
+ 	netflow_switch_version(protocol);
+ 	_schedule_scan_worker(0);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)
++	timer_setup(&rate_timer, rate_timer_calc, 0);
++#else
+ 	setup_timer(&rate_timer, rate_timer_calc, 0);
++#endif
+ 	mod_timer(&rate_timer, jiffies + (HZ * SAMPLERATE));
+ 
+ 	peakflows_at = jiffies;

diff --git a/net-firewall/ipt_netflow/ipt_netflow-2.2-r3.ebuild b/net-firewall/ipt_netflow/ipt_netflow-2.2-r3.ebuild
new file mode 100644
index 00000000000..b2bda0e5889
--- /dev/null
+++ b/net-firewall/ipt_netflow/ipt_netflow-2.2-r3.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+MY_PN="${PN/_/-}"
+MY_P="${MY_PN}-${PV}"
+inherit linux-info linux-mod toolchain-funcs
+
+DESCRIPTION="Netflow iptables module"
+HOMEPAGE="https://sourceforge.net/projects/ipt-netflow"
+SRC_URI="mirror://sourceforge/${MY_PN}/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug natevents snmp"
+
+RDEPEND="
+	net-firewall/iptables
+	snmp? ( net-analyzer/net-snmp )
+"
+DEPEND="${RDEPEND}
+	virtual/linux-sources
+	virtual/pkgconfig
+"
+
+# set S before MODULE_NAMES
+S="${WORKDIR}/${MY_P}"
+PATCHES=(
+	# bug #455984
+	"${FILESDIR}/${PN}-2.0-configure.patch"
+	# Compatibility with kernel 4.6
+	"${FILESDIR}/${P}-linux-4.6.patch"
+	# Compatibility with kernel 4.10, bug #617484
+	"${FILESDIR}/${P}-linux-4.10.patch"
+	# Compatibility with kernel 4.13, bug #630446
+	"${FILESDIR}/${P}-linux-4.13.patch"
+	# Compatibility with kernel 4.15, bug #646798
+	"${FILESDIR}/${P}-linux-4.15.patch"
+)
+
+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_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
+
+	# Checking for directory is enough
+	sed -i -e 's:-s /etc/snmp/snmpd.conf:-d /etc/snmp:' configure || die
+
+	default
+}
+
+do_conf() {
+	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*
+}