diff options
author | Nathan Angelacos <nangel@alpinelinux.org> | 2012-02-01 12:21:37 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2012-02-01 18:11:10 +0000 |
commit | 29c6db183490cac3b60c8b5f5bdc24f4c47d9bae (patch) | |
tree | cd30a613d50e7532447116bf4356f19229aff0d0 | |
parent | 6f3d38eaf0b799c725d2b9239072fdfc6290ca21 (diff) | |
download | aports-29c6db183490cac3b60c8b5f5bdc24f4c47d9bae.tar.bz2 aports-29c6db183490cac3b60c8b5f5bdc24f4c47d9bae.tar.xz |
testing/nfdump: netflow tools Added init.d/nfcapd conf.d/nfcapd
Used fprobe as a model for the nfcapd (netflow collector) init script
Pulls all command line options from the conf.d/nfcapd file
-rw-r--r-- | testing/nfdump/APKBUILD | 17 | ||||
-rw-r--r-- | testing/nfdump/nfcapd.confd | 62 | ||||
-rw-r--r-- | testing/nfdump/nfcapd.initd | 63 |
3 files changed, 139 insertions, 3 deletions
diff --git a/testing/nfdump/APKBUILD b/testing/nfdump/APKBUILD index 9299be6af..2f031d7f8 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 000000000..fb9afb6e3 --- /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 000000000..5f8506812 --- /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 $? +} + + + + + + |