]> git.meshlink.io Git - catta/blob - initscript/debian/avahi-daemon.in
3a68781f8b7a5fc6db3e2d6c900ff84475bb8010
[catta] / initscript / debian / avahi-daemon.in
1 #!/bin/sh
2
3 # $Id$
4
5 # This file is part of avahi.
6 #
7 # avahi is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU Lesser General Public License as
9 # published by the Free Software Foundation; either version 2 of the
10 # License, or (at your option) any later version.
11 #
12 # avahi is distributed in the hope that it will be useful, but WITHOUT
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 # License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with avahi; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 # USA.
21
22 #
23 # avahi     avahi daemon
24 #                               Daemon for ZeroConf
25 #
26 # Authors:      <sebastien.estienne@gmail.com>
27 #
28
29 if [ -f /lib/lsb/init-functions ]
30 then
31     . /lib/lsb/init-functions
32 else
33     # int log_begin_message (char *message)
34     log_begin_msg () {
35         if [ -z "$1" ]; then
36             return 1
37         fi
38         echo " * $@"
39     }
40
41     # int log_end_message (int exitstatus)
42     log_end_msg () {
43         
44     # If no arguments were passed, return
45         [ -z "$1" ] && return 1
46         
47     # Only do the fancy stuff if we have an appropriate terminal
48     # and if /usr is already mounted
49         TPUT=/usr/bin/tput
50         EXPR=/usr/bin/expr
51         if [ -x $TPUT ] && [ -x $EXPR ] && $TPUT hpa 60 >/dev/null 2>&1; then
52             COLS=`$TPUT cols`
53             if [ -n "$COLS" ]; then
54                 COL=`$EXPR $COLS - 7`
55             else
56                 COL=73
57             fi
58             UP=`$TPUT cuu1`
59             END=`$TPUT hpa $COL`
60             START=`$TPUT hpa 0`
61             RED=`$TPUT setaf 1`
62             NORMAL=`$TPUT op`
63             if [ $1 -eq 0 ]; then
64                 echo "$UP$END[ ok ]"
65             else
66                 echo -e "$UP$START $RED*$NORMAL$END[${RED}fail${NORMAL}]"
67             fi
68         else
69             if [ $1 -eq 0 ]; then
70                 echo "   ...done."
71             else
72                 echo "   ...fail!"
73             fi
74         fi
75         return $1
76     }
77     
78 fi
79
80 #set -e
81
82 PATH=/sbin:/bin:/usr/sbin:/usr/bin
83 DESC="Avahi mDNS/DNS-SD Daemon"
84 NAME="avahi-daemon"
85 DAEMON="@sbindir@/$NAME"
86
87 # Gracefully exit if the package has been removed.
88 test -x $DAEMON || exit 0
89
90 #
91 #       Function that starts the daemon/service.
92 #
93 d_start() {
94     modprobe capability >/dev/null 2>&1 || true
95
96     $DAEMON -c && return 0
97
98     if [ -s /etc/localtime ]; then
99         if [ ! -d /etc/avahi/etc ]; then
100             mkdir -p @sysconfdir@/avahi/etc >/dev/null 2>&1
101         fi
102         cp -fp /etc/localtime @sysconfdir@/avahi/etc >/dev/null 2>&1
103     fi;
104     
105     $DAEMON -D
106 }
107
108 #
109 #       Function that stops the daemon/service.
110 #
111 d_stop() {
112     $DAEMON -c && $DAEMON -k
113 }
114
115 #
116 #       Function that reload the config file for the daemon/service.
117 #
118 d_reload() {
119     $DAEMON -c && $DAEMON -r
120 }
121
122 #
123 #       Function that check the status of the daemon/service.
124 #
125 d_status() {
126     $DAEMON -c && echo "$DESC is running" || echo "$DESC is not running"
127 }
128
129 case "$1" in
130     start)
131         log_begin_msg "Starting $DESC: $NAME"
132         d_start
133         log_end_msg $?
134         ;;
135     stop)
136         log_begin_msg "Stopping $DESC: $NAME"
137         d_stop
138         log_end_msg $?
139         ;;
140     reload)
141         log_begin_msg "Reloading services for $DESC: $NAME"
142         d_reload
143         log_end_msg $?
144         ;;
145     restart|force-reload)
146         log_begin_msg "Restarting $DESC: $NAME"
147         $DAEMON -c && d_stop
148         d_start
149         log_end_msg $?
150         ;;
151     status)
152         d_status
153         ;;
154     *)
155         echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|reload}" >&2
156         exit 1
157         ;;
158 esac
159
160 exit 0