commit:     a3508c8b9bced6ce2ae49816022b85e2dcd9af2e
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 29 00:45:27 2016 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Fri Jul 29 00:45:44 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3508c8b

net-analyzer/flow-tools: get to the bottom of the weird pidfile behavior in the 
codebase, -p is not the full path!.

Package-Manager: portage-2.2.28

 net-analyzer/flow-tools/files/flowcapture.confd    |  9 ++-
 net-analyzer/flow-tools/files/flowcapture.initd    |  6 +-
 .../flow-tools/flow-tools-0.68.5.1-r8.ebuild       | 75 ++++++++++++++++++++++
 3 files changed, 86 insertions(+), 4 deletions(-)

diff --git a/net-analyzer/flow-tools/files/flowcapture.confd 
b/net-analyzer/flow-tools/files/flowcapture.confd
index 20a2385..e926d64 100644
--- a/net-analyzer/flow-tools/files/flowcapture.confd
+++ b/net-analyzer/flow-tools/files/flowcapture.confd
@@ -39,10 +39,13 @@ WORKDIR=/var/lib/flows/ft
 # user to run as
 USER=flows
 
-# Pidfile
-PIDFILE=/run/flows/flowcapture.pid.${PORT}
+# Pidfile base
+# The daemon takes the pidfile argument and APPENDS .$PORT itself in writing.
+# It may have multiple children by original design, but this is not recommended
+# for Gentoo at this time.
+PIDFILE_BASE=${PIDFILE_BASE:=/run/flows/flowcapture.pid}
 
 # This pulls in the options above
-FLOW_OPTS="-p $PIDFILE -w $WORKDIR $LOCALIP/$REMOTEIP/$PORT -V $FLOW_VER -E 
$SIZE -n $ROTATIONS -N $NEST -R $ROTATE_PROG"
+FLOW_OPTS="-p $PIDFILE_BASE -w $WORKDIR $LOCALIP/$REMOTEIP/$PORT -V $FLOW_VER 
-E $SIZE -n $ROTATIONS -N $NEST -R $ROTATE_PROG"
 # Use below only if you have sorted out the STAT_INT problem
 #FLOW_OPTS="-p /run/flows/flowcapture.pid.$PORT -w $WORKDIR 
$LOCALIP/$REMOTEIP/$PORT -S $STAT_INT -V $FLOW_VER -E $SIZE -n $ROTATIONS -N 
$NEST -R $ROTATE_PROG"

diff --git a/net-analyzer/flow-tools/files/flowcapture.initd 
b/net-analyzer/flow-tools/files/flowcapture.initd
index e03d493..a31ed5e 100644
--- a/net-analyzer/flow-tools/files/flowcapture.initd
+++ b/net-analyzer/flow-tools/files/flowcapture.initd
@@ -3,7 +3,11 @@
 # Distributed under the terms of the GNU General Public License v2
 
 PORT=${PORT:=2055}
-PIDFILE=${PIDFILE:=/run/flows/flowcapture.pid.${PORT}}
+# The daemon takes the pidfile argument and APPENDS .$PORT itself in writing.
+# It may have multiple children by original design, but this is not recommended
+# for Gentoo at this time.
+PIDFILE_BASE=${PIDFILE_BASE:=/run/flows/flowcapture.pid}
+PIDFILE=${PIDFILE:=${PIDFILE}.${PORT}}
 
 depend() {
        use net

diff --git a/net-analyzer/flow-tools/flow-tools-0.68.5.1-r8.ebuild 
b/net-analyzer/flow-tools/flow-tools-0.68.5.1-r8.ebuild
new file mode 100644
index 0000000..087e3c9
--- /dev/null
+++ b/net-analyzer/flow-tools/flow-tools-0.68.5.1-r8.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils user
+
+DESCRIPTION="library and programs to process reports from NetFlow data"
+HOMEPAGE="https://code.google.com/p/flow-tools/";
+SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.bz2";
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug libressl mysql postgres ssl static-libs"
+
+RDEPEND="sys-apps/tcp-wrappers
+       sys-libs/zlib
+       mysql? ( virtual/mysql )
+       postgres? ( dev-db/postgresql:* )
+       ssl? (
+               !libressl? ( dev-libs/openssl:0= )
+               libressl? ( dev-libs/libressl:0= )
+       )"
+
+DEPEND="${RDEPEND}
+       sys-devel/flex
+       sys-devel/bison"
+
+DOCS=( ChangeLog README SECURITY TODO )
+
+pkg_setup() {
+       enewgroup flows
+       enewuser flows -1 -1 /var/lib/flows flows
+}
+
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-run.patch
+       epatch "${FILESDIR}"/${P}-syslog.patch
+}
+
+src_configure() {
+       econf \
+               $(use_enable static-libs static) \
+               $(usex mysql --with-mysql '') \
+               $(usex postgres --with-postgresql=yes --with-postgresql=no) \
+               $(usex ssl --with-openssl '') \
+               --sysconfdir=/etc/flow-tools
+}
+
+src_install() {
+       default
+
+       prune_libtool_files
+
+       exeinto /var/lib/flows/bin
+       doexe "${FILESDIR}"/linkme
+
+       keepdir /var/lib/flows/ft
+
+       newinitd "${FILESDIR}/flowcapture.initd" flowcapture
+       newconfd "${FILESDIR}/flowcapture.confd" flowcapture
+
+       fowners flows:flows /var/lib/flows
+       fowners flows:flows /var/lib/flows/bin
+       fowners flows:flows /var/lib/flows/ft
+
+       fperms 0755 /var/lib/flows
+       fperms 0755 /var/lib/flows/bin
+}
+
+pkg_preinst() {
+       enewgroup flows
+       enewuser flows -1 -1 /var/lib/flows flows
+}

Reply via email to