#! /bin/sh
#
# avahi-daemon:       Starts the Avahi Daemon
#
# 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.
# processname: avahi-daemon
# config: 

OTHER_AVAHI_OPTS=""

# Source function library.
. /etc/init.d/functions

. /etc/sysconfig/network

# Check that networking is configured.
[ ${NETWORKING} = "no" ] && exit 0

AVAHI_BIN=/usr/sbin/avahi-daemon
test -x $AVAHI_BIN || exit 5

LOCKFILE=/var/lock/subsys/avahi-daemon

base=${0##*/}

start() {
    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
    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
    return $RETVAL
}

reload() {
        echo -n $"Reloading Avahi daemon... "
        $AVAHI_BIN -r
    RETVAL=$?
    [ $RETVAL = 0 ] && success $"$base reload" || failure $"$base reload"
    echo
    return $RETVAL
}

restart() {
    stop
    start
}

RETVAL=0

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
        $AVAHI_BIN -c
        RETVAL=$?
        [ $RETVAL = 0 ] && echo $"Avahi daemon is running" || echo $"Avahi daemon is not running"
    ;;
  restart)
    restart
    ;;
  reload)
        reload 
    ;;
  condrestart)
      if [ -f $LOCKFILE ]; then
        restart
    fi
    ;;
  *)
    echo $"Usage: $0 {start|stop|status|restart|condrestart}"
    exit 1
esac

exit $RETVAL