]> git.meshlink.io Git - catta/blobdiff - initscript/fedora/avahi-dnsconfd.in
init: Fix mandriva initscript to properly quote potentially empty variables when...
[catta] / initscript / fedora / avahi-dnsconfd.in
index 5fbdb01ec68ee283bd393239580d297fd58c6565..de49d7f8a70e7f50489e1cbed347159fe06359a3 100644 (file)
@@ -1,47 +1,62 @@
 #! /bin/sh
 #
-# avahi-daemon:       Starts the Avahi dns configuration daemon
+# avahi-dnsconfd:       Starts the Avahi dns configuration daemon
 #
-# chkconfig: - 34 66
-# description: avahi-dnsconfd connects to a running avahi-daemon and runs  the  script
-#       /etc/avahi/dnsconf.action for each unicast DNS server that is announced
-#       on the local LAN. This is useful for configuring unicast DNS servers in
+# chkconfig: - 96 02
+# description: avahi-dnsconfd connects to a running avahi-daemon and runs  the  script \
+#       /etc/avahi/dnsconf.action for each unicast DNS server that is announced \
+#       on the local LAN. This is useful for configuring unicast DNS servers in \
 #       a DHCP-like fashion with mDNS.
 # processname: avahi-dnsconfd
-# config: 
+# config:
+
+AVAHI_BIN=@sbindir@/avahi-dnsconfd
+
+if [ "$1" = 'status' ]; then
+    test -x $AVAHI_BIN || exit 4
+else
+    test -x $AVAHI_BIN || exit 5
+fi
 
 OTHER_AVAHI_OPTS=""
 
 # Source function library.
 . /etc/init.d/functions
-
 . /etc/sysconfig/network
 
-# Check that networking is configured.
-[ ${NETWORKING} = "no" ] && exit 0
+LOCKFILE=/var/lock/subsys/avahi-dnsconfd
 
-AVAHI_BIN=@sbindir@/avahi-dnsconfd
-test -x $AVAHI_BIN || exit 5
+base=${0##*/}
 
 start() {
+    # Check that networking is configured.
+    [ ${NETWORKING} = "no" ] && exit 1
+
        echo -n $"Starting Avahi DNS daemon... "
         $AVAHI_BIN -D
        RETVAL=$?
-       [ $RETVAL = 0 ] && success $"$base startup" || failure $"$base startup"
+       if [ $RETVAL = 0 ]; then
+               touch $LOCKFILE
+               success $"$base startup"
+       else
+               failure $"$base startup"
+       fi
        echo
        return $RETVAL
 }
 
 stop() {
-        echo -n "Shutting down Avahi DNS daemon: "
+        echo -n $"Shutting down Avahi DNS daemon: "
         $AVAHI_BIN -k
        RETVAL=$?
+       [ $RETVAL = 0 ] && success $"$base shutdown" || failure $"$base shutdown"
+       rm -f $LOCKFILE
        echo
        return $RETVAL
 }
 
 reload() {
-        echo -n "Reloading Avahi DNS daemon... "
+        echo -n $"Reloading Avahi DNS daemon... "
         $AVAHI_BIN -r
        RETVAL=$?
        [ $RETVAL = 0 ] && success $"$base startup" || failure $"$base startup"
@@ -49,7 +64,6 @@ reload() {
        return $RETVAL
 }
 
-
 restart() {
        stop
        start
@@ -67,21 +81,24 @@ case "$1" in
        ;;
   status)
         $AVAHI_BIN -c
-       [ $? = 0 ] && echo "Avahi DNS daemon is running" || echo "Avahi DNS daemon is not running"
+        RETVAL=$?
+        [ $RETVAL = 0 ] && echo $"Avahi DNS daemon is running" || echo $"Avahi DNS daemon is not running"
        ;;
   restart)
        restart
        ;;
   reload)
-        reload 
+        reload
        ;;
   condrestart)
-        $AVAHI_BIN -c
-        [ $? = 0 ] && restart || :
+       if [ -f $LOCKFILE ]; then
+               restart
+       fi
        ;;
   *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart}"
-       exit 1
+       exit 2
+       ;;
 esac
 
-exit $?
+exit $RETVAL