diff options
author | Valery Kartel <valery.kartel@gmail.com> | 2017-04-13 17:46:44 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2017-08-29 05:27:38 +0000 |
commit | ee937b01630d377f1539d916f9d3020610a1c8e9 (patch) | |
tree | f500ccab1d42f7925b37d4499179203d2068f38a | |
parent | 6b7343152de7d727305174485f7bc5987c2c6407 (diff) | |
download | aports-ee937b01630d377f1539d916f9d3020610a1c8e9.tar.bz2 aports-ee937b01630d377f1539d916f9d3020610a1c8e9.tar.xz |
community/softflowd: take maintainership
fix url
add !check
remove unneeded code in apkbuild, cleanups
remade init script (compatible with old one but more functional)
[TT: fix localstatedir to /var, modernize slightly]
-rw-r--r-- | community/softflowd/APKBUILD | 51 | ||||
-rw-r--r-- | community/softflowd/softflowd.confd | 12 | ||||
-rw-r--r-- | community/softflowd/softflowd.initd | 78 |
3 files changed, 53 insertions, 88 deletions
diff --git a/community/softflowd/APKBUILD b/community/softflowd/APKBUILD index 3721b2b4e7..e0396912af 100644 --- a/community/softflowd/APKBUILD +++ b/community/softflowd/APKBUILD @@ -1,52 +1,37 @@ # Contributor: Leonardo Arena <rnalrd@alpinelinux.org> -# Maintainer: +# Maintainer: Valery Kartel <valery.kartel@gmail.com> pkgname=softflowd pkgver=0.9.9 -pkgrel=0 -pkgdesc="Flow-based network traffic analyser" -url="http://www.mindrot.org/projects/softflowd/" +pkgrel=1 +pkgdesc="A software NetFlow probe" +url="https://code.google.com/p/softflowd" arch="all" license="BSD" -depends= -depends_dev= -makedepends="$depends_dev libpcap-dev" -install= +options="!check" +makedepends="libpcap-dev" subpackages="$pkgname-doc" -source="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/softflowd/softflowd-$pkgver.tar.gz - softflowd.initd - softflowd.confd +source="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/$pkgname/$pkgname-$pkgver.tar.gz + $pkgname.initd + $pkgname.confd " - - -_builddir="$srcdir"/$pkgname-$pkgver - -prepare() { - cd "$_builddir" - grep -l "#include <sys/poll.h>" * | xargs sed -i 's|sys/poll.h|poll.h|g' -} +builddir="$srcdir/$pkgname-$pkgver" build() { - cd "$_builddir" + cd "$builddir" ./configure --prefix=/usr \ --sysconfdir=/etc \ + --localstatedir=/var \ --mandir=/usr/share/man \ --infodir=/usr/share/info - make || return 1 + make } package() { - cd "$_builddir" - make DESTDIR="$pkgdir" install - install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname - install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname + make -C "$builddir" DESTDIR="$pkgdir" install + install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname } -md5sums="ba83e2715e6250e6645ebcaa9ae1009d softflowd-0.9.9.tar.gz -1dc4e097474bfa6bcf471f5b6ed6e2e1 softflowd.initd -7eab9e84a8711613d83efbaa79cda3fe softflowd.confd" -sha256sums="2313f2c50ea9b3f2db3524e38ec7cd71f9a6e885ac2e3b55ab037bccf8173612 softflowd-0.9.9.tar.gz -1cb28ef2fd8d0ff0082c856812a26cce728332293115aa6e4fd8e877083a3568 softflowd.initd -f8368e88d248d420dfb8b877c53f666116c195763f40323868b52d2345b2c45c softflowd.confd" sha512sums="4d579c2a087c0f3cd4d2020bcfbddf9dab73254e40678b3509c93bec212bf8b5692f76bfb4e766577e431ff508f0bce0a2cf326184f192e3c5dc8ddf38514dbd softflowd-0.9.9.tar.gz -40b671b5dc126e3b58761156eadb7b172fe8cd23f04e43c90270fbfba9c7542a7adc9a496da557143fa025af3ee6644e4732a74096a66bbaf98d3cadd6d01149 softflowd.initd -3e9ff7efb2f63519ed710af8b744a264c0ce97f22af1e1d2d4ec8e071276ff42e482183715eebba8b25ff6270afac1fe9620a9c69dc5dbda889d44b141d8cb09 softflowd.confd" +a049158fe474bb76e497613a7e2109b92047a37210bfe695b18b50cf7f5be5407896a11927d685fc03dec899c50bd6dbfeffdccf8e918ba515cfcab5dbd2b2a9 softflowd.initd +10b536cb5d32edbfe5d1a09e2b4ded4d95cb2bbfbe44cdcf267958efe1cde440f0caf4f60e41b4a59164a471bf430527912daf2c47df42f0dc47997352689e5d softflowd.confd" diff --git a/community/softflowd/softflowd.confd b/community/softflowd/softflowd.confd index 3823c80c4d..7f31d779b4 100644 --- a/community/softflowd/softflowd.confd +++ b/community/softflowd/softflowd.confd @@ -1,10 +1,4 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# Copy conf file to softflowd.interface - -# SOFTFLOWD_COLLECTOR=host:port -# SOFTFLOWD_TIMEOUTS="maxlife=600" -# SOFTFLOWD_MAXFLOWS=17000 -# SOFTFLOWD_EXTRA= -# SOFTFLOWD_INTERFACE_IDX= +# SOFTFLOWD_COLLECTOR=<host:port> +# SOFTFLOWD_INTERFACE=[index:]eth0 +# SOFTFLOWD_EXTRA="-m 17000 -t maxlife=600" diff --git a/community/softflowd/softflowd.initd b/community/softflowd/softflowd.initd index 3cf1e4231b..c6e05afc97 100644 --- a/community/softflowd/softflowd.initd +++ b/community/softflowd/softflowd.initd @@ -1,55 +1,41 @@ #!/sbin/openrc-run -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-analyzer/softflowd/files/softflowd.initd,v 1.2 2012/03/21 07:52:49 robbat2 Exp $ -depend() { - need net -} - -softflowd_checkconfig() { - SOFTFLOWD_INTERFACE=${SVCNAME#*.} - if [ ${SOFTFLOWD_INTERFACE} = ${SVCNAME} ]; then - eerror "You have to create an init script for each interface:" - eerror "ln -s softflowd /etc/init.d/softflowd.eth0" - return 1 +name="Netflow probe" +description="NetFlow Probe" +command=/usr/sbin/softflowd +pidfile=/run/$RC_SVCNAME.pid + +if [ -z "${RC_SVCNAME##*.*}" ]; then + _suffix=${RC_SVCNAME#*.} + SOFTFLOWD_INTERFACE=${_suffix%@*} + name="$name: $SOFTFLOWD_INTERFACE" + if [ -z "${_suffix##*@*}" ]; then + SOFTFLOWD_COLLECTOR=${_suffix#*@} + name="$name -> $SOFTFLOWD_COLLECTOR" fi + command_args="-p $pidfile -c /run/$RC_SVCNAME.ctl" +elif [ "${SOFTFLOWD_INTERFACE##*:*}" ]; then + SOFTFLOWD_INTERFACE="${SOFTFLOWD_INTERFACE_IDX:+$SOFTFLOWD_INTERFACE_IDX:}$SOFTFLOWD_INTERFACE" +fi - if [ -z "${SOFTFLOWD_COLLECTOR}" ]; then - eerror "Specify the host and port that the accounting datagrams are to be" - eerror "sent to in /etc/conf.d/${SVCNAME}." - eerror "Example: SOFTFLOWD_COLLECTOR=collector.example.com:9995" - return 1 - fi - SOFTFLOWD_PIDFILE="/var/run/softflowd.${SOFTFLOWD_INTERFACE}.pid" - SOFTFLOWD_CTLFILE="/var/run/softflowd.${SOFTFLOWD_INTERFACE}.ctl" -} +command_args="-i $SOFTFLOWD_INTERFACE -n $SOFTFLOWD_COLLECTOR $command_args $SOFTFLOWD_EXTRA" +# legacy compatibility +command_args="$command_args ${SOFTFLOWD_TIMEOUTS:+-t $SOFTFLOWD_TIMEOUTS}" +command_args="$command_args ${SOFTFLOWD_MAXFLOWS:+-m $SOFTFLOWD_MAXFLOWS}" -start() { - softflowd_checkconfig || return 1 - - ebegin "Starting softflowd on interface ${SOFTFLOWD_INTERFACE}" - iface_arg=${SOFTFLOWD_INTERFACE} - [ -n "${SOFTFLOWD_INTERFACE_IDX}" ] && iface_arg="${SOFTFLOWD_INTERFACE_IDX}:${iface_arg}" - start-stop-daemon --start \ - --exec /usr/sbin/softflowd \ - -- -i "${iface_arg}" \ - -n "${SOFTFLOWD_COLLECTOR}" \ - -p "${SOFTFLOWD_PIDFILE}" \ - -c "${SOFTFLOWD_CTLFILE}" \ - -t "${SOFTFLOWD_TIMEOUTS-maxlife=600}" \ - -m "${SOFTFLOWD_MAXFLOWS-17000}" \ - ${SOFTFLOWD_EXTRA} - eend $? +depend() { + need net } -stop() { - softflowd_checkconfig || return 1 - - ebegin "Stopping softflowd on interface ${SOFTFLOWD_INTERFACE}" - # use softflowd's own way to shut it down - /usr/sbin/softflowctl -c ${SOFTFLOWD_CTLFILE} shutdown - eend $? +start_pre() { + [ "$SOFTFLOWD_INTERFACE" -a "$SOFTFLOWD_COLLECTOR" ] && return 0 + eerror Specify interface name in form [index:]ifname + eerror and collector host:port in /etc/conf.d/$RC_SVCNAME: + eerror " SOFTFLOWD_INTERFACE=eth0" + eerror " SOFTFLOWD_COLLECTOR=collector.host:9995" + eerror Or create an init script for each interface or interface@collector: + eerror " cd /etc/init.d" + eerror " ln -s softflowd softflowd.1:eth0@collector.host:9995" + return 1 } - |