File: avahi-daemon.init

package info (click to toggle)
avahi 0.7-4%2Bdeb10u1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 8,940 kB
  • sloc: ansic: 40,180; sh: 6,161; xml: 4,433; cs: 2,185; makefile: 1,702; python: 321; cpp: 222
file content (104 lines) | stat: -rwxr-xr-x 2,401 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/bin/sh
### BEGIN INIT INFO
# Provides:          avahi avahi-daemon
# 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

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

. /lib/lsb/init-functions

# Include avahi-daemon defaults if available.
test -f /etc/default/avahi-daemon && . /etc/default/avahi-daemon

DISABLE_TAG="/var/run/avahi-daemon/disabled-for-unicast-local"

#
#       Function that starts the daemon/service.
#
d_start() {
    $DAEMON -c && return 0

    if [ -e $DISABLE_TAG -a "$AVAHI_DAEMON_DETECT_LOCAL" != "0" ]; then
        # Disabled because of the existance of an unicast .local domain
        log_warning_msg "avahi-daemon disabled because there is a unicast .local domain"
        exit 0;
    fi;

    $DAEMON -D
}

#
#       Function that stops the daemon/service.
#
d_stop() {
    if $DAEMON -c ; then
       $DAEMON -k
    fi
}

#
#       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 && { echo "$DESC is running"; exit 0; } || { echo "$DESC is not running"; exit 3; }
}

case "$1" in
    start)
        log_daemon_msg "Starting $DESC" "$NAME"
        d_start
        log_end_msg $?
        ;;
    stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        d_stop
        log_end_msg $?
        ;;
    reload|force-reload)
        log_daemon_msg "Reloading services for $DESC" "$NAME"
        d_reload
        log_end_msg $?
        ;;
    restart)
        log_daemon_msg "Restarting $DESC" "$NAME"
        d_stop
        if [ "$?" -eq 0 ]; then
                d_start
                log_end_msg $?
        else
                log_end_msg 1
        fi
        ;;
    status)
        d_status
        ;;
    *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|reload|status}" >&2
        exit 3
        ;;
esac

exit 0