X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from sp4.qcslink.com (sp4.qcslink.com [200.35.147.4]) by mail.alpinelinux.org (Postfix) with ESMTP id 13B2DDC162E for ; Wed, 1 Feb 2012 04:31:02 +0000 (UTC) Received: from sp4.qcslink.com (localhost.localdomain [127.0.0.1]) by sp4.qcslink.com (Postfix) with ESMTP id A14281A058; Tue, 31 Jan 2012 23:31:01 -0500 (EST) Received: from localhost.localdomain (c-98-207-193-23.hsd1.ca.comcast.net [98.207.193.23]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: nangel@nothome.org) by sp4.qcslink.com (Postfix) with ESMTPSA id 2F8B61A055; Tue, 31 Jan 2012 23:31:01 -0500 (EST) From: Nathan Angelacos To: alpine-devel@lists.alpinelinux.org Cc: Nathan Angelacos Subject: [alpine-devel] [PATCH] testing/nfdump: netflow tools Added init.d/nfcapd conf.d/nfcapd Date: Wed, 1 Feb 2012 12:21:37 +0000 Message-Id: <1328098897-24066-1-git-send-email-nangel@alpinelinux.org> X-Mailer: git-send-email 1.7.7.1 X-Virus-Scanned: ClamAV using ClamSMTP X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: 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 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 ---