]> git.meshlink.io Git - catta/blob - initscript/debian/avahi-dnsconfd.in
* change process title of chroot() helper process to "chroot helper" dropping
[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
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     $DAEMON -c
95     [ $? = 0 ] && exit 0
96
97     if [ -s /etc/localtime ]; then
98         if [ ! -d /etc/avahi/etc ]; then
99             mkdir -p @sysconfdir@/avahi/etc >/dev/null 2>&1
100         fi
101         cp -fp /etc/localtime @sysconfdir@/avahi/etc >/dev/null 2>&1
102     fi;
103     
104     $DAEMON -D
105 }
106
107 #
108 #       Function that stops the daemon/service.
109 #
110 d_stop() {
111     $DAEMON -c
112     [ $? != 0 ] && exit 0
113
114     $DAEMON -k
115 }
116
117 #
118 #       Function that reload the config file for the daemon/service.
119 #
120 d_refresh() {
121     $DAEMON -c
122     [ $? != 0 ] && exit 0
123
124     $DAEMON -r
125 }
126
127 #
128 #       Function that check the status of the daemon/service.
129 #
130 d_status() {
131     $DAEMON -c
132     [ $? = 0 ]  && echo "$DESC is running" || echo "$DESC is not running"
133 }
134
135 case "$1" in
136     start)
137         log_begin_msg "Starting $DESC: $NAME"
138         d_start
139         log_end_msg $?
140         ;;
141     stop)
142         log_begin_msg "Stopping $DESC: $NAME"
143         d_stop
144         log_end_msg $?
145         ;;
146     refresh)
147         log_begin_msg "Refreshing $DESC: $NAME"
148         d_refresh
149         log_end_msg $?
150         ;;
151     reload|restart|force-reload)
152         log_begin_msg "Restarting $DESC: $NAME"
153         $DAEMON -c && d_stop
154         d_start
155         log_end_msg $?
156         ;;
157     status)
158         d_status
159         ;;
160     *)
161         echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|reload}" >&2
162         exit 1
163         ;;
164 esac
165
166 exit 0