-#! /bin/sh
+#!/bin/sh
#
-# avahi-daemon: Starts the Avahi Daemon
+# avahi-daemon: Starts the Avahi mDNS/DNS-SD Stack
#
-# chkconfig: 345 97 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
}
stop
;;
status)
- $AVAHI_BIN -c
- RETVAL=$?
- [ $RETVAL = 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
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
- exit 1
+ exit 2
+ ;;
esac
exit $RETVAL
-