]> git.meshlink.io Git - catta/blob - initscript/debian/avahi-dnsconfd.in
* Import debian init script changes from debian
[catta] / initscript / debian / avahi-dnsconfd.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-dnsconfd     avahi dns configuration 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 Unicast DNS Configuration Daemon"
84 NAME="avahi-dnsconfd"
85 DAEMON="@sbindir@/$NAME"
86 SCRIPTNAME=/etc/init.d/$NAME
87
88 # Gracefully exit if the package has been removed.
89 test -x $DAEMON || exit 0
90
91 # don't start if /etc/default/avahi-dnsconfd says so.
92 AVAHI_DNSCONFD_START=1
93 test -f /etc/default/avahi-dnsconfd && . /etc/default/avahi-dnsconfd
94
95 if [ "$AVAHI_DNSCONFD_START" != "1" -a "$1" != "stop" ]; then
96     exit 0
97 fi
98
99 #
100 #       Function that starts the daemon/service.
101 #
102 d_start() {
103     $DAEMON -c
104     [ $? = 0 ] && exit 0
105
106     if [ -s /etc/localtime ]; then
107         if [ ! -d /etc/avahi/etc ]; then
108             mkdir -p @sysconfdir@/avahi/etc >/dev/null 2>&1
109         fi
110         cp -fp /etc/localtime @sysconfdir@/avahi/etc >/dev/null 2>&1
111     fi;
112     
113     $DAEMON -D
114 }
115
116 #
117 #       Function that stops the daemon/service.
118 #
119 d_stop() {
120     $DAEMON -c
121     [ $? != 0 ] && exit 0
122
123     $DAEMON -k
124 }
125
126 #
127 #       Function that reload the config file for the daemon/service.
128 #
129 d_refresh() {
130     $DAEMON -c
131     [ $? != 0 ] && exit 0
132
133     $DAEMON -r
134 }
135
136 #
137 #       Function that check the status of the daemon/service.
138 #
139 d_status() {
140     $DAEMON -c
141     [ $? = 0 ]  && echo "$DESC is running" || echo "$DESC is not running"
142 }
143
144 case "$1" in
145     start)
146         log_begin_msg "Starting $DESC: $NAME"
147         d_start
148         log_end_msg $?
149         ;;
150     stop)
151         log_begin_msg "Stopping $DESC: $NAME"
152         d_stop
153         log_end_msg $?
154         ;;
155     refresh)
156         log_begin_msg "Refreshing $DESC: $NAME"
157         d_refresh
158         log_end_msg $?
159         ;;
160     reload|restart|force-reload)
161         log_begin_msg "Restarting $DESC: $NAME"
162         $DAEMON -c && d_stop
163         d_start
164         log_end_msg $?
165         ;;
166     status)
167         d_status
168         ;;
169     *)
170         echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|reload}" >&2
171         exit 1
172         ;;
173 esac
174
175 exit 0