aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-07-30 13:07:09 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-07-30 13:07:09 +0000
commit4259b276a2df2018458a622e3ceedad38b1c22ec (patch)
tree1aff1fc5f69de536d5b71bb2b76005c6b68f8924
parentb36359dbd01c71a5b10cc9c95efaff4cc1db57ef (diff)
downloadaports-4259b276a2df2018458a622e3ceedad38b1c22ec.tar.bz2
aports-4259b276a2df2018458a622e3ceedad38b1c22ec.tar.xz
main/dnscache: fix init.d script
fixes #101
-rw-r--r--main/djbdns/APKBUILD4
-rwxr-xr-xmain/djbdns/dnscache.initd44
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 $?
}