blob: 4fdd80d4100688cd3b248cf6e97f076257c68f37 [file] [log] [blame]
Brad Bishop36a3e3e2019-10-02 13:29:27 -04001#! /bin/sh
2### BEGIN INIT INFO
3# Provides: network-manager
4# Required-Start: $remote_fs dbus udev
5# Required-Stop: $remote_fs dbus udev
6# Should-Start: $syslog
7# Should-Stop: $syslog
8# Default-Start: 2 3 4 5
9# Default-Stop: 0 1 6
10# Short-Description: network connection manager
11# Description: Daemon for automatically switching network
12# connections to the best available connection.
13### END INIT INFO
14
15PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
16DESC="network connection manager"
17NAME="NetworkManager"
18
19DAEMON=/usr/sbin/$NAME
20
21PIDFILE=/run/$NAME/$NAME.pid
22
23SCRIPTNAME=/etc/init.d/network-manager
24
25. /etc/init.d/functions || exit 1
26
27# Exit if the package is not installed
28[ -x "$DAEMON" ] || exit 0
29
30log_daemon_msg() {
31 echo -n $*
32}
33
34log_end_msg() {
35 if [ $1 -eq 0 ]; then
36 success
37 else
38 failure
39 fi
40 echo
41}
42
43log_progress_msg () {
44 if [ -z "${1:-}" ]; then
45 return 1
46 fi
47 echo -n " $@"
48}
49
50#
51# Function that starts the daemon/service.
52#
53d_start() {
54 start-stop-daemon --start --quiet --pidfile $PIDFILE \
55 --exec $DAEMON -- $DAEMON_OPTS
56}
57
58#
59# Function that stops the daemon/service.
60#
61d_stop() {
62 start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE \
63 --exec $DAEMON
64}
65
66d_reload() {
67 start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE \
68 --exec $DAEMON
69}
70
71case "$1" in
72 start)
73 log_daemon_msg "Starting $DESC" "$NAME"
74 d_start
75 case "$?" in
76 0) log_end_msg 0 ;;
77 1) log_progress_msg "already started"
78 log_end_msg 0 ;;
79 *) log_end_msg 1 ;;
80 esac
81 ;;
82 stop)
83 log_daemon_msg "Stopping $DESC" "$NAME"
84 d_stop
85 case "$?" in
86 0) log_end_msg 0 ;;
87 1) log_progress_msg "already stopped"
88 log_end_msg 0 ;;
89 *) log_end_msg 1 ;;
90 esac
91 ;;
92 reload|force-reload)
93 log_daemon_msg "Reloading $DESC" "$NAME"
94 d_reload
95 log_end_msg $?
96 ;;
97 restart)
98 $0 stop
99 $0 start
100 ;;
101 status)
102 status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
103 ;;
104 *)
105 echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
106 exit 1
107 ;;
108esac
109
110exit 0