diff options
Diffstat (limited to 'extra/djbdns/tinydns.initd')
-rwxr-xr-x | extra/djbdns/tinydns.initd | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/extra/djbdns/tinydns.initd b/extra/djbdns/tinydns.initd deleted file mode 100755 index a68474c4..00000000 --- a/extra/djbdns/tinydns.initd +++ /dev/null @@ -1,87 +0,0 @@ -#!/sbin/runscript -# control an instance of tinydns, without daemontools -# written for alpine linux - NBA April 2007 - -opts="reload" - -# -- Statrup variables -DAEMON=/usr/bin/tinydns -COMPILER=/usr/bin/tinydns-data - -IFACE="${SVCNAME#*.}" -if [ -n "$IFACE" ] && [ "${SVCNAME}" != "tinydns" ]; then - ROOT=${ROOT:-/var/cache/tinydns.$IFACE} - VARRUN=${VARRUN:-/var/run/tinydns.$IFACE} - DATADIR=${DATADIR:-/etc/tinydns.$IFACE} -else - ROOT=${ROOT:-/var/cache/tinydns} - VARRUN=${VARRUN:-/var/run/tinydns} - DATADIR=${DATADIR:-/etc/tinydns} -fi - - -#----------------------------------------------------------------- -# Main program -reload() { - local rc opwd="$opwd" - UID=$( grep tinydns /etc/passwd | cut -f3 -d: ) - GID=$( grep tinydns /etc/group | cut -f3 -d: ) - - # Create the $ROOT directory if necessary - if [ ! -d "$ROOT" ]; then - mkdir -p "$ROOT" - chown $UID:$GID "$ROOT" - fi - - # If a file named "data" exists in the $ROOT dir - # Then we just use it and ignore anything else - # If the "data" file does not exist, we attempt - # to build one out of the "zone files". - ebegin "Generating tinydns cache" - rm -f "$ROOT/data" - if [ -e $DATADIR/data ]; then - ln -sf "$DATADIR/data" "$ROOT/data" - else - set -- $( find $DATADIR -type f ) - if [ $# -eq 0 ]; then - eend 1 "Missing data or zone files in $DATADIR" - return 1 - fi - cat "$@" > "$ROOT/data" - fi - cd "$ROOT" || return 1 - [ -e data ] || rm -f data.cdb - $COMPILER - rc=$? - cd "$opwd" - eend $rc - return $rc -} - -start() { - # Always do a reload on start - reload || return 1 - - ebegin "Starting tinydns" - if [ -z "$UID" ] || [ -z "$GID" ]; then - eend 1 "tinydns user or group missing" - return 1 - fi - - if [ -z "$IP" ]; then - eend 1 "IP is not specified in /etc/conf.d/$SVCNAME" - return 1 - fi - - start-stop-daemon --start --env "UID=$UID" --env "GID=$GID" \ - --env "ROOT=$ROOT" --env "IP=$IP" --pidfile ${VARRUN}.pid \ - --background --make-pidfile --exec $DAEMON - eend $? -} - -stop() { - ebegin "Stopping tinydns" - start-stop-daemon --stop --pidfile ${VARRUN}.pid --exec $DAEMON - eend $? -} - |