123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- #!/bin/sh
- ### BEGIN INIT INFO
- # Provides: avahi
- # Required-Start: $remote_fs dbus
- # Required-Stop: $remote_fs dbus
- # Should-Start: $syslog
- # Should-Stop: $syslog
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Avahi mDNS/DNS-SD Daemon
- # Description: Zeroconf daemon for configuring your network
- # automatically
- ### END INIT INFO
- #
- # This file is part of avahi.
- #
- # avahi is free software; you can redistribute it and/or modify it
- # under the terms of the GNU Lesser General Public License as
- # published by the Free Software Foundation; either version 2 of the
- # License, or (at your option) any later version.
- #
- # avahi is distributed in the hope that it will be useful, but WITHOUT
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
- # License for more details.
- #
- # You should have received a copy of the GNU Lesser General Public
- # License along with avahi; if not, write to the Free Software
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- # USA.
- #
- # avahi avahi daemon
- # Daemon for ZeroConf
- #
- # Authors: <sebastien.estienne@gmail.com>
- #
- if [ -f /lib/lsb/init-functions ]
- then
- . /lib/lsb/init-functions
- else
- # int log_begin_message (char *message)
- log_begin_msg () {
- if [ -z "$1" ]; then
- return 1
- fi
- echo " * $@"
- }
- # int log_end_message (int exitstatus)
- log_end_msg () {
-
- # If no arguments were passed, return
- [ -z "$1" ] && return 1
-
- # Only do the fancy stuff if we have an appropriate terminal
- # and if /usr is already mounted
- TPUT=/usr/bin/tput
- EXPR=/usr/bin/expr
- if [ -x $TPUT ] && [ -x $EXPR ] && $TPUT hpa 60 >/dev/null 2>&1; then
- COLS=`$TPUT cols`
- if [ -n "$COLS" ]; then
- COL=`$EXPR $COLS - 7`
- else
- COL=73
- fi
- UP=`$TPUT cuu1`
- END=`$TPUT hpa $COL`
- START=`$TPUT hpa 0`
- RED=`$TPUT setaf 1`
- NORMAL=`$TPUT op`
- if [ $1 -eq 0 ]; then
- echo "$UP$END[ ok ]"
- else
- echo -e "$UP$START $RED*$NORMAL$END[${RED}fail${NORMAL}]"
- fi
- else
- if [ $1 -eq 0 ]; then
- echo " ...done."
- else
- echo " ...fail!"
- fi
- fi
- return $1
- }
-
- log_warning_msg () {
- if log_use_fancy_output; then
- YELLOW=`$TPUT setaf 3`
- NORMAL=`$TPUT op`
- echo "$YELLOW*$NORMAL $@"
- else
- echo "$@"
- fi
- }
- fi
- #set -e
- PATH=/sbin:/bin:/usr/sbin:/usr/bin
- DESC="Avahi mDNS/DNS-SD Daemon"
- NAME="avahi-daemon"
- DAEMON="/usr/sbin/$NAME"
- SCRIPTNAME=/etc/init.d/$NAME
- # Gracefully exit if the package has been removed.
- test -x $DAEMON || exit 0
- # don't start if /etc/default/avahi-daemon says so.
- AVAHI_DAEMON_START=1
- test -f /etc/default/avahi-daemon && . /etc/default/avahi-daemon
- if [ "$AVAHI_DAEMON_START" != "1" -a "$1" != "stop" ]; then
- log_warning_msg "Not starting $DESC $NAME, disabled via /etc/default/$NAME"
- exit 0
- fi
- #
- # Function that starts the daemon/service.
- #
- d_start() {
- modprobe capability >/dev/null 2>&1 || true
- $DAEMON -c && return 0
- if [ -s /etc/localtime ]; then
- if [ ! -d /etc/avahi/etc ]; then
- mkdir -p /etc/avahi/etc >/dev/null 2>&1
- fi
- cp -fp /etc/localtime /etc/avahi/etc >/dev/null 2>&1
- fi;
-
- $DAEMON -D
- }
- #
- # Function that stops the daemon/service.
- #
- d_stop() {
- $DAEMON -c && $DAEMON -k
- }
- #
- # Function that reload the config file for the daemon/service.
- #
- d_reload() {
- $DAEMON -c && $DAEMON -r
- }
- #
- # Function that check the status of the daemon/service.
- #
- d_status() {
- $DAEMON -c
- status=$?
- if [ $status = 0 ]; then
- echo "$DESC is running"
- return 0
- else
- echo "$DESC is not running"
- return 3
- fi
- }
- case "$1" in
- start)
- log_begin_msg "Starting $DESC: $NAME"
- d_start
- log_end_msg $?
- ;;
- stop)
- log_begin_msg "Stopping $DESC: $NAME"
- d_stop
- log_end_msg $?
- ;;
- reload)
- log_begin_msg "Reloading services for $DESC: $NAME"
- d_reload
- log_end_msg $?
- ;;
- restart|force-reload)
- log_begin_msg "Restarting $DESC: $NAME"
- $DAEMON -c && d_stop
- d_start
- log_end_msg $?
- ;;
- status)
- d_status
- ;;
- *)
- echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|reload|status}" >&2
- exit 1
- ;;
- esac
- exit $?
|