diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-07-30 13:07:09 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-07-30 13:07:09 +0000 |
commit | 4259b276a2df2018458a622e3ceedad38b1c22ec (patch) | |
tree | 1aff1fc5f69de536d5b71bb2b76005c6b68f8924 | |
parent | b36359dbd01c71a5b10cc9c95efaff4cc1db57ef (diff) | |
download | aports-4259b276a2df2018458a622e3ceedad38b1c22ec.tar.bz2 aports-4259b276a2df2018458a622e3ceedad38b1c22ec.tar.xz |
main/dnscache: fix init.d script
fixes #101
-rw-r--r-- | main/djbdns/APKBUILD | 4 | ||||
-rwxr-xr-x | main/djbdns/dnscache.initd | 44 |
2 files changed, 13 insertions, 35 deletions
diff --git a/main/djbdns/APKBUILD b/main/djbdns/APKBUILD index 0596907a79..297f99ac80 100644 --- a/main/djbdns/APKBUILD +++ b/main/djbdns/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=djbdns pkgver=1.05 -pkgrel=26 +pkgrel=27 pkgdesc="Excellent high-performance DNS services" url="http://cr.yp.to/djbdns.html" license="public-domain" @@ -82,5 +82,5 @@ c7be73fe2fb4ae02d5096fa2c1f55a68 1.05-errno.patch e8a84fc4ee5ff1525b4f74889422e93c tinydns.initd 7dcf6674c07d46c736b3c25d9c92384a tinydns.confd e09c3a6ba6917e16f4736ab5c070dbe9 dnscache.pre-install -e368a86ddc320937d663dd47684ba410 dnscache.initd +1f6d29a29382e0bb7e865aede9e07c9d dnscache.initd e2938593277d7a87806e70e145a90c3f dnscache.confd" diff --git a/main/djbdns/dnscache.initd b/main/djbdns/dnscache.initd index 481022496e..986094a1f0 100755 --- a/main/djbdns/dnscache.initd +++ b/main/djbdns/dnscache.initd @@ -3,17 +3,17 @@ # written for alpine linux - NBA April 2007 # -- Statrup variables -UID=$( grep dnscache /etc/passwd | cut -f3 -d: ) -GID=$( grep dnscache /etc/group | cut -f3 -d: ) ROOT=/etc/dnscache DAEMON=/usr/bin/dnscache -VARRUN=/var/run/dnscache +PIDFILE=/var/run/dnscache.pid #----------------------------------------------------------------- # Main program start() { + UID=$( grep dnscache /etc/passwd | cut -f3 -d: ) + GID=$( grep dnscache /etc/group | cut -f3 -d: ) ebegin "Starting dnscache" if [ -z "$UID" ] || [ -z "$GID" ]; then @@ -21,39 +21,17 @@ start() { return 1 fi - # if its already running, just report it is - if [ -e ${VARRUN}.pid ] && [ -d /proc/$( cat ${VARRUN}.pid ) ]; then - eend 0 - return 0 - fi - - ( - export UID GID ROOT - [ -n "$IPSEND" ] && export IPSEND - [ -n "$IP" ] && export IP - [ -n "$HIDETTL" ] && export HIDETTL - [ -n "$IPSEND" ] && export IPSEND - [ -n "$CACHESIZE" ] && export CACHESIZE - [ -n "$FORWARDONLY" ] && export FORWARDONLY - - $DAEMON </dev/urandom >/dev/null 2>/dev/null & - pid=$! - sleep 1 - # Check if its still running - if ! [ -d /proc/$pid ]; then - $DAEMON </dev/urandom - return 1 - fi - echo $pid > ${VARRUN}.pid - eend $? - return 0 - ) + start-stop-daemon --start --env "UID=$UID" --env "GID=$GID" \ + --env "ROOT=$ROOT" --env "IP=$IP" --env "IPSEND=$IPSEND" \ + --env "HIDETTL=$HIDETTL" --env "CACHESIZE=$CACHESIZE" \ + --env "FORWARDONLY=$FORWARDONLY" --pidfile $PIDFILE \ + --background --make-pidfile --exec $DAEMON + eend $? } stop() { ebegin "Stopping dnscache" - start-stop-daemon --stop -m --pidfile ${VARRUN}.pid --oknodo \ - --exec $DAEMON && rm ${VARRUN}.pid - eend $? + start-stop-daemon --stop --pidfile $PIDFILE --exec $DAEMON + eend $? } |