Update the doc overview and release note.
[pti/rtp.git] / meta-stx / recipes-daemons / lldpd / files / lldpd.init
1 #! /bin/sh
2 ### BEGIN INIT INFO
3 # Provides:          lldpd
4 # Required-Start:    $remote_fs $network $syslog
5 # Required-Stop:     $network $remote_fs $syslog
6 # Default-Start:     2 3 4 5
7 # Default-Stop:      0 1 6
8 # Short-Description: LLDP daemon
9 # Description:       lldpd is a 802.1AB implementation, a L2 network
10 #                    discovery protocol. It also supports CDP, EDP and
11 #                    various other protocols.
12 ### END INIT INFO
13
14 # Do NOT "set -e"
15
16 # PATH should only include /usr/* if it runs after the mountnfs.sh script
17 PATH=/sbin:/usr/sbin:/bin:/usr/bin
18 DESC="LLDP daemon"
19 NAME=lldpd
20 DAEMON=/usr/sbin/$NAME
21 DAEMON_ARGS=""
22 PIDFILE=/var/run/$NAME.pid
23 SCRIPTNAME=/etc/init.d/$NAME
24 CHROOT=/var/run/$NAME
25
26 # Exit if the package is not installed
27 [ -x "$DAEMON" ] || exit 0
28
29 # Read configuration variable file if it is present
30 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
31
32 # Create the chroot directory if not present
33 [ -d "$CHROOT" ] || mkdir -p $CHROOT
34
35 # LSB log_* functions
36 . /lib/lsb/init-functions
37
38 if [ ! -d "$CHROOT" ]; then
39         mkdir -p $CHROOT
40 fi
41
42
43 do_start()
44 {
45         start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
46                 || return 1
47         start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
48                 $DAEMON_ARGS \
49                 || return 2
50 }
51
52 do_stop()
53 {
54         start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
55         RETVAL="$?"
56         [ "$RETVAL" = 2 ] && return 2
57         start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
58         [ "$?" = 2 ] && return 2
59         rm -f $PIDFILE
60         return "$RETVAL"
61 }
62
63 do_reload() {
64         start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
65         return 0
66 }
67
68 case "$1" in
69   start)
70         [ "$VERBOSE" != no ] && log_begin_msg "Starting $DESC" "$NAME"
71         do_start
72         case "$?" in
73                 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
74                 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
75         esac
76         ;;
77   stop)
78         [ "$VERBOSE" != no ] && log_begin_msg "Stopping $DESC" "$NAME"
79         do_stop
80         case "$?" in
81                 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
82                 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
83         esac
84         ;;
85   reload)
86         log_begin_msg "Reloading $DESC" "$NAME"
87         do_reload
88         log_end_msg $?
89         ;;
90   restart|force-reload)
91         log_begin_msg "Restarting $DESC" "$NAME"
92         do_stop
93         case "$?" in
94           0|1)
95                 do_start
96                 case "$?" in
97                         0) log_end_msg 0 ;;
98                         1) log_end_msg 1 ;; # Old process is still running
99                         *) log_end_msg 1 ;; # Failed to start
100                 esac
101                 ;;
102           *)
103                 # Failed to stop
104                 log_end_msg 1
105                 ;;
106         esac
107         ;;
108   status)
109         status_of_proc $DAEMON $NAME -p $PIDFILE && exit 0 || exit $?
110         ;;
111   *)
112         echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
113         exit 3
114         ;;
115 esac
116
117 :