]> git.meshlink.io Git - catta/blobdiff - initscript/fedora/avahi-daemon.in
fix avahi_netlink_new to allow multiple netlinks per process
[catta] / initscript / fedora / avahi-daemon.in
index aead1be245a9ff7f84633c11788f50aced9d09f0..5a8f43005888c597ae5fe446a5de7c0855dd4edf 100644 (file)
@@ -1,64 +1,78 @@
-#! /bin/sh
+#!/bin/sh
 #
-# avahi-daemon:       Starts the Avahi Daemon
+# avahi-daemon: Starts the Avahi mDNS/DNS-SD Stack
 #
-# chkconfig: 345 98 02
-# description: This is a daemon which runs on client machines to perform \
-#              Zeroconf service discovery on a network. avahi-daemon must be \
-#              running on systems  that use Avahi for service discovery. \
-#              Avahi-daemon should not be running otherwise.
+# chkconfig:   345 24 02
+# description: This is a daemon which runs on client machines to \
+#              perform Zeroconf service discovery on a \
+#              network. avahi-daemon must be running on systems that \
+#              use Avahi for service discovery. Avahi-daemon should \
+#              not be running otherwise.
 # processname: avahi-daemon
-# config: 
+# pidfile:     @localstatedir@/run/avahi-daemon/pid
 
-OTHER_AVAHI_OPTS=""
+### BEGIN INIT INFO
+# Required-Start:    messagebus
+# Required-Stop:     messagebus
+# Should-Start:      $syslog $network $local_fs
+# Should-Stop:       $syslog $local_fs
+# Default-Start:     3 4 5
+# Default-Stop:      0 1 2 6
+# Short-Description: Starts the Avahi Daemon
+# Description:       This is a daemon which runs on client machines to
+#                    perform Zeroconf service discovery on a
+#                    network. avahi-daemon must be running on systems
+#                    that use Avahi for service discovery.
+#                    Avahi-daemon should not be running otherwise.
+### END INIT INFO
+
+AVAHI_BIN=@sbindir@/avahi-daemon
+AVAHI_OPTS="-D"
+
+if [ "$1" = 'status' ]; then
+    test -x $AVAHI_BIN || exit 4
+else
+    test -x $AVAHI_BIN || exit 5
+fi
 
 # Source function library.
 . /etc/init.d/functions
-
 . /etc/sysconfig/network
 
-# Check that networking is configured.
-[ ${NETWORKING} = "no" ] && exit 0
-
-AVAHI_BIN=@sbindir@/avahi-daemon
-test -x $AVAHI_BIN || exit 5
-
-LOCKFILE=/var/lock/subsys/avahi-daemon
+LOCKFILE=@localstatedir@/lock/subsys/avahi-daemon
+PIDFILE=@localstatedir@/run/avahi-daemon/pid
+RETVAL=0
 
 base=${0##*/}
 
 start() {
+    # Check that networking is configured.
+    [ ${NETWORKING} = "no" ] && exit 1
+
        echo -n $"Starting Avahi daemon... "
        if [ -s /etc/localtime ]; then
            cp -fp /etc/localtime /etc/avahi/etc >/dev/null 2>&1
        fi;
-        $AVAHI_BIN -D
-       RETVAL=$?
-       if [ $RETVAL = 0 ]; then
-               touch $LOCKFILE
-               success $"$base startup"
-       else
-               failure $"$base startup"
-       fi
-       echo
+        daemon --pidfile=${PIDFILE} $AVAHI_BIN $AVAHI_OPTS
+        RETVAL=$?
+        echo
+        [ $RETVAL -eq 0 ] && touch ${LOCKFILE}
        return $RETVAL
 }
 
 stop() {
         echo -n $"Shutting down Avahi daemon: "
-        $AVAHI_BIN -k
-       RETVAL=$?
-       [ $RETVAL = 0 ] && success $"$base shutdown" || failure $"$base shutdown"
-       rm -f $LOCKFILE
-       echo
+        killproc -p ${PIDFILE} $AVAHI_BIN
+        RETVAL=$?
+        [ $RETVAL -eq 0 ] && rm -f ${LOCKFILE} ${PIDFILE}
+        echo
        return $RETVAL
 }
 
 reload() {
         echo -n $"Reloading Avahi daemon... "
-        $AVAHI_BIN -r
+        killproc -p ${PIDFILE} $AVAHI_BIN -HUP
        RETVAL=$?
-       [ $RETVAL = 0 ] && success $"$base reload" || failure $"$base reload"
        echo
        return $RETVAL
 }
@@ -79,14 +93,14 @@ case "$1" in
        stop
        ;;
   status)
-        $AVAHI_BIN -c
-       [ $? = 0 ] && echo $"Avahi daemon is running" || echo $"Avahi daemon is not running"
+       status -p ${PIDFILE} $AVAHI_BIN
+        RETVAL=$?
        ;;
   restart)
        restart
        ;;
   reload)
-        reload 
+        reload
        ;;
   condrestart)
        if [ -f $LOCKFILE ]; then
@@ -95,8 +109,8 @@ case "$1" in
        ;;
   *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart}"
-       exit 1
+       exit 2
+        ;;
 esac
 
-exit $?
-
+exit $RETVAL