#!/bin/sh
# chkconfig: 2345 25 75
### BEGIN INIT INFO
# Provides:          avahi-daemon
# Required-Start:    $network dbus $syslog
# Required-Stop:     $network dbus $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      1
# Short-Description: Start avahi-daemon at boot time
# Description:       Enable service provided by avahi-daemon.
# X-Start-Before:
# X-Stop-After:
# X-Timesys-Start-Number:  25
# X-Timesys-Stop-Number:  75
### END INIT INFO

case "${1}" in
  start)

    for grp in avahi avahi-autoipd
    do
      if ! grep $grp /etc/group > /dev/null ; then
        echo "$0: Creating system group '$grp' with generic settings.  Review and modify as required."
        yes '' | addgroup $grp >/dev/null 2>&1 || yes '' | groupadd $grp >/dev/null 2>&1
      fi
    done
    for usr in avahi avahi-autoipd
    do
      if ! grep ^$usr /etc/passwd > /dev/null; then
        echo "$0: Creating system user '$usr' with generic settings.  Review and modify as required."
        yes '' | adduser -G $usr $usr >/dev/null 2>&1 || yes '' | useradd -g $usr $usr >/dev/null 2>&1
      fi
    done

    printf "Starting the Avahi daemon..."
    avahi-daemon -D && echo "[ OK ]" || echo "[ FAIL ]"
    ;;

  stop)
    printf "Stopping the Avahi daemon..."
    avahi-daemon -k && echo "[ OK ]" || echo "[ FAIL ]"
    ;;

  restart)
    ${0} stop
    sleep 1
    ${0} start
    ;;

  *)
    echo "Usage: $0 [start|stop|restart]"
    ;;
esac
