diff options
Diffstat (limited to 'community/darkstat')
-rw-r--r-- | community/darkstat/PKGBUILD | 32 | ||||
-rw-r--r-- | community/darkstat/darkstat.conf | 2 | ||||
-rw-r--r-- | community/darkstat/darkstat.install | 20 | ||||
-rw-r--r-- | community/darkstat/darkstat.service | 17 |
4 files changed, 71 insertions, 0 deletions
diff --git a/community/darkstat/PKGBUILD b/community/darkstat/PKGBUILD new file mode 100644 index 000000000..52526ad81 --- /dev/null +++ b/community/darkstat/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 91854 2013-05-28 17:26:25Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=darkstat +pkgver=3.0.715 +pkgrel=10 +pkgdesc="Network statistics gatherer (packet sniffer)" +url="http://dmr.ath.cx/net/darkstat/" +license=("GPL") +arch=(i686 x86_64) +depends=('libpcap' 'zlib' 'gcc-libs') +backup=('etc/conf.d/darkstat.conf') +source=(http://dmr.ath.cx/net/darkstat/darkstat-$pkgver.tar.bz2 + darkstat.service + darkstat.conf) +install=darkstat.install +md5sums=('5b7abc7538dcd8e30667dac150e81d77' + '91dd1cf9d01c2b37896f01b4570b5521' + 'aa9a9effd1e8f08860afcd6439fc94c5') + +build() { + cd $srcdir/darkstat-$pkgver + ./configure --prefix=/usr --sbindir=/usr/bin + make +} + +package() { + cd $srcdir/darkstat-$pkgver + make DESTDIR=$pkgdir install + install -D -m644 "$srcdir"/darkstat.conf "$pkgdir"/etc/conf.d/darkstat.conf + install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service +} diff --git a/community/darkstat/darkstat.conf b/community/darkstat/darkstat.conf new file mode 100644 index 000000000..63517ef9a --- /dev/null +++ b/community/darkstat/darkstat.conf @@ -0,0 +1,2 @@ +DARKSTAT_IFACE="eth0" +DARKSTAT_ARGS="" diff --git a/community/darkstat/darkstat.install b/community/darkstat/darkstat.install new file mode 100644 index 000000000..246bfd808 --- /dev/null +++ b/community/darkstat/darkstat.install @@ -0,0 +1,20 @@ +daemon_name=darkstat +daemon_chroot=var/darkstat + +post_install() { + if [ ! -d "$daemon_chroot" ]; then + install -d "$daemon_chroot" + touch "$daemon_chroot/darkstat.dat" + fi + useradd \ + --system \ + --home /"$daemon_chroot" \ + --shell /bin/false \ + --no-user-group \ + --gid nobody "$daemon_name" + chown -R "$daemon_name":nobody "/$daemon_chroot" +} + +post_remove() { + userdel "$daemon_name" +} diff --git a/community/darkstat/darkstat.service b/community/darkstat/darkstat.service new file mode 100644 index 000000000..b92eff85c --- /dev/null +++ b/community/darkstat/darkstat.service @@ -0,0 +1,17 @@ +[Unit] +Description=Network statistics gatherer (packet sniffer) +After=network.target + +[Service] +Type=simple +EnvironmentFile=/etc/conf.d/darkstat.conf +PIDFile=/var/darkstat/darkstat.pid +ExecStart=/usr/sbin/darkstat --user "darkstat" --chroot "/var/darkstat" \ + --import "darkstat.dat" --export "darkstat.dat" \ + --pidfile /var/darkstat/darkstat.pid \ + -b 0.0.0.0 \ + -i "$DARKSTAT_IFACE" $DARKSTAT_ARGS +ExecStopPost=/bin/rm -f /var/darkstat/darkstat.pid + +[Install] +WantedBy=multi-user.target |