about summary refs log tree commit diff
path: root/debian/network-manager.dbus-event
blob: 25717d6a2d8152535797db0ecb6b2eeb6c9dcf8d (plain)
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
#
# NetworkManager	NetworkManager daemon
#				Daemon for automatically switching network 
#				connections to the best available connection.
#				This file should be placed in /etc/init.d.
#
# Authors:	Jan Gerber <j@bootlab.org>
#			Mark Roach <mrroach@okmaybe.com>
#			Thom May <thom@debian.org>
#
# Version:	@(#)skeleton  2.85-23  28-Jul-2004  miquels@cistron.nl
#

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Network connection manager daemon"
NAME="NetworkManager"

DAEMON=/usr/sbin/$NAME

PIDDIR=/var/run/NetworkManager
PIDFILE=$PIDDIR/$NAME.pid
NAMED_PIDFILE=/var/lib/NetworkManager/NetworkManager-pid-named

SCRIPTNAME=/etc/dbus-1/event.d/25$NAME
USER=root

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

# We need /sbin/ip
[ -x /sbin/ip ] || exit 1

. /lib/lsb/init-functions

test -f /etc/default/rcS && . /etc/default/rcS
test -f /etc/default/NetworkManager && . /etc/default/NetworkManager

#
#	Function that starts the daemon/service.
#
d_start() {
	log_begin_msg "Starting $NAME"
	if [ ! -d $PIDDIR ]; then
		mkdir -p $PIDDIR
		chown $USER:$USER $PIDDIR
	fi
	modprobe capability >/dev/null 2>&1 || true

	test -d /var/lib/NetworkManager || mkdir -p /var/lib/NetworkManager
	chmod 755 /var/lib/NetworkManager

	start-stop-daemon --start --quiet --pidfile $PIDFILE \
		--user $USER --exec $DAEMON -- $DAEMON_OPTS
    RETVAL=$?
	log_end_msg $RETVAL
    [ $RETVAL -eq 0 ] && echo `/bin/pidof $NAME` > $PIDFILE


}

#
#	Function that stops the daemon/service.
#
d_stop() {
        log_begin_msg "Stopping $NAME"
	start-stop-daemon --stop --quiet --pidfile $PIDFILE \
		 --oknodo --user $USER --exec $DAEMON
        log_end_msg $?

        # if NetworkManager does not want to die, apply some more force
        if [ -e $PIDFILE ]; then
            kill -9 $(< $PIDFILE) || true
            rm -f $PIDFILE
        fi
        if [ -e $NAMED_PIDFILE ]; then
            kill -9 $(< $NAMED_PIDFILE) || true
            rm -f $NAMED_PIDFILE
        fi

}


case "$1" in
  start)
	d_start
	;;
  stop)
	d_stop
	;;
  restart|force-reload)
	d_stop
	sleep 1
	d_start
	;;
  *)
	log_success_msg "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0