~alpine/devel

testing/nfdump: netflow tools Added init.d/nfcapd conf.d/nfcapd v1 PROPOSED

Nathan Angelacos: 1
 testing/nfdump: netflow tools   Added init.d/nfcapd  conf.d/nfcapd

 3 files changed, 139 insertions(+), 3 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.alpinelinux.org/~alpine/devel/patches/325/mbox | git am -3
Learn more about email & git

[alpine-devel] [PATCH] testing/nfdump: netflow tools Added init.d/nfcapd conf.d/nfcapd Export this patch

Used fprobe as a model for the nfcapd (netflow collector) init script
Pulls all command line options from the conf.d/nfcapd file
---
 testing/nfdump/APKBUILD     |   17 +++++++++--
 testing/nfdump/nfcapd.confd |   62 ++++++++++++++++++++++++++++++++++++++++++
 testing/nfdump/nfcapd.initd |   63 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 139 insertions(+), 3 deletions(-)
 create mode 100644 testing/nfdump/nfcapd.confd
 create mode 100644 testing/nfdump/nfcapd.initd

diff --git a/testing/nfdump/APKBUILD b/testing/nfdump/APKBUILD
index 9299be6..2f031d7 100644
--- a/testing/nfdump/APKBUILD
+++ b/testing/nfdump/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=nfdump
pkgver=1.6.4
pkgrel=0
pkgrel=1
pkgdesc="The nfdump tools collect and process netflow data on the command line."
url="http://nfdump.sourceforge.net/"
arch="all"
@@ -12,7 +12,9 @@ depends_dev=""
makedepends="bison flex $depends_dev"
install=""
subpackages="$pkgname-doc"
source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz\
	nfcapd.confd\
	nfcapd.initd"

_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
@@ -33,8 +35,17 @@ build() {
}

package() {
	depends=fts

	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1
	install -D -m755 "$srcdir"/nfcapd.initd \
		"$pkgdir"/etc/init.d/nfcapd

	install -D -m644 "$srcdir"/nfcapd.confd \
		"$pkgdir"/etc/conf.d/nfcapd
}

md5sums="a5ab5657da78f0f57ac7d29f31883949  nfdump-1.6.4.tar.gz"
md5sums="a5ab5657da78f0f57ac7d29f31883949  nfdump-1.6.4.tar.gz
d525c691a62a5746c581f5e9776ed866  nfcapd.confd
d2b60619e18120af68771f3b866177e8  nfcapd.initd"
diff --git a/testing/nfdump/nfcapd.confd b/testing/nfdump/nfcapd.confd
new file mode 100644
index 0000000..fb9afb6
--- /dev/null
+++ b/testing/nfdump/nfcapd.confd
@@ -0,0 +1,62 @@
# Config file for /etc/init.d/nfcapd

# Port we listen on
PORT=2205

# Hostname/address we bind on - default is any available
BINDHOST=127.0.0.1

# IPv4 only 
#IPV4=no

# IPv6 only
#IPV6=no

# Join a specific Multicast group
#MULTICASTGROUP=

# Become a packet repeater
#REPEAT=desthost/port


# Ident string, specify the name of the router
#IDENT=

# Base Directory for output files
BASEDIR="/var/log/nfcapd"

# Source is one or more sources: Ident,IP,base_directory 
# If you specificy SOURCE, do not specifiy IDENT or BASEDIR
#SOURCE="Foo,192.168.1.1,/var/log/nfcapd/foo Bar,192.168.1.2,/var/log/nfcapd/bar"

# Sample Rate - defaults to source
#SAMPLERATE=

# additional directory sub hierarchy (default none)
#SUBDIR="%Y/%m/%d"


# Extensions to be stored in the netflow data
#EXTENSIONS="all"

# How often to rotate the files (in seconds)
#INTERVAL=300

# Do we align rotation with next even interval
#ALIGN=no

# Run a command at the end of every interval
#ROTATECMD=""

# Auto expire old files (yes/no)
#AUTOEXPIRE=no

# User / Group
UID=nobody
GID=nobody

# Buffer length in bytes (to reduce lost packets)
BUFFLEN=1024000

# Compress the flows with LZO (yes/no)
COMPRESS=yes
diff --git a/testing/nfdump/nfcapd.initd b/testing/nfdump/nfcapd.initd
new file mode 100644
index 0000000..5f85068
--- /dev/null
+++ b/testing/nfdump/nfcapd.initd
@@ -0,0 +1,63 @@
#!/sbin/runscript
# Copyright 2012 N Angelacos - Based on Gentoo Foundation fprobe script
# Distributed under the terms of the GNU General Public License v2

depend() {
	need net
	after firewall
}


BIN=/usr/bin/nfcapd
PIDFILE_EXTRA=${SVCNAME#*.}
if [ -n "${PIDFILE_EXTRA}" ] && [ ${SVCNAME} != "nfcapd" ]; then
	PIDFILE="/var/run/nfcapd.${PIDFILE_EXTRA}.pid"
else
	PIDFILE="/var/run/nfcapd.pid"
fi

start() {
	ebegin "Starting nfcapd"
	local OPTS=""
	
	[ -n "${SOURCE}" ] && SOURCE=`echo -n "${SOURCE}" | sed 's/ / -n /g'`
	[ "${IPV4}"       == "yes" ] && OPTS="${OPTS} -4"
	[ "${IPV6}"       == "yes" ] && OPTS="${OPTS} -6"
	[ "${ALIGN}"      == "yes" ] && OPTS="${OPTS} -w"
	[ "${AUTOEXPIRE}" == "yes" ] && OPTS="${OPTS} -e"
	[ "${COMPRESS}"   == "yes" ] && OPTS="${OPTS} -z"
	for optname in p:PORT b:BINDHOST j:MULTICASTGROUP i:IFACE R:REPEAT \
		I:IDENT l:BASEDIR n:SOURCE s:SAMPLERATE S:SUBDIR \
		T:EXTENSIONS t:INTERVAL x:ROTATECMD u:UID g:GID \
		B:BUFFLEN ; do
	    opt="${optname/:*}"	optvar="${optname/*:}"
	    eval optvalue="\$$optvar"
	    [ -n "$optvalue" ] && OPTS="${OPTS} -${opt} ${optvalue}"
	done
	OPTS="${OPTS}"

	# Attempt to make the basedir if specified
	if [ -n "${BASEDIR}" ]; then
		mkdir -p "${BASEDIR}"
		chown "${UID}":"${GID}" "${BASEDIR}"
	fi


	start-stop-daemon --start -b --exec $BIN \
		--pidfile ${PIDFILE} --make-pidfile \
		-- ${OPTS}
	eend $?
}

stop() {
	ebegin "Stopping nfcapd"
	start-stop-daemon --stop --quiet --exec $BIN \
		--pidfile ${PIDFILE}
	eend $?
}






-- 
1.7.7.1



---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
> Used fprobe as a model for the nfcapd (netflow collector) init script
> Pulls all command line options from the conf.d/nfcapd file
> ---
> testing/nfdump/APKBUILD     |   17 +++++++++--
> testing/nfdump/nfcapd.confd |   62
> ++++++++++++++++++++++++++++++++++++++++++
> testing/nfdump/nfcapd.initd |   63
> +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 139
> insertions(+), 3 deletions(-) create mode 100644
> testing/nfdump/nfcapd.confd create mode 100644
> testing/nfdump/nfcapd.initd
Applied. Thanks!