about summary refs log tree commit diff
path: root/debian/network-manager.dbus-event
diff options
context:
space:
mode:
authorRiccardo Setti <giskard@autistici.org>2006-01-10 15:31:05 +0000
committerRiccardo Setti <giskard@autistici.org>2006-01-10 15:31:05 +0000
commit109a7976fe0363e22681d919258b3d9ce4b3bfb3 (patch)
treed3c6feb3f3d6e3117da1f7844737dd58ecf9a5d9 /debian/network-manager.dbus-event
first import of dhcbdb and networkmanager
git-svn-id: svn+ssh://svn.debian.org/svn/pkg-utopia/packages/unstable/networkmanager@440 ceb527fc-18e6-0310-9fe2-813c157c29e7
Diffstat (limited to 'debian/network-manager.dbus-event')
-rw-r--r--debian/network-manager.dbus-event104
1 files changed, 104 insertions, 0 deletions
diff --git a/debian/network-manager.dbus-event b/debian/network-manager.dbus-event
new file mode 100644
index 00000000..25717d6a
--- /dev/null
+++ b/debian/network-manager.dbus-event
@@ -0,0 +1,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