#! /bin/sh
### BEGIN INIT INFO
# Provides:          avahi
# Required-Start:    $network $remote_fs dbus
# Required-Stop:     $network $remote_fs dbus
# Default-Start:     3 5
# Default-Stop:
# Short-Description: ZeroConf daemon
# Description:       Avahi, a ZeroConf daemon for mDNS and service registration
### END INIT INFO

AVAHI_BIN=@sbindir@/avahi-daemon
test -x $AVAHI_BIN || exit 5

. /etc/rc.status
rc_reset

case "$1" in
	start)
		echo -n "Starting Avahi daemon "
		$AVAHI_BIN -D
		rc_status -v
		;;
	stop)
		echo -n "Shutting down Avahi daemon "
		$AVAHI_BIN -k 2>/dev/null || /bin/true
		rc_status -v
		;;
	try-restart|condrestart)
		if test "$1" = "condrestart"; then
			echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
		fi
		$0 status
		if test $? = 0; then
			$0 restart
		else
			rc_reset
		fi
		rc_status
		;;
	restart)
		$0 stop
		$0 start
		rc_status
		;;
	force-reload|reload)
		echo -n "Reloading Avahi daemon "
		$AVAHI_BIN -r
		rc_status -v
		;;
	status)
		echo -n "Checking for Avahi daemon: "
		$AVAHI_BIN -c || _rc_status=3
		rc_status -v
		;;
	*)
		echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}"
		exit 1
		;;
esac
