diff options
| author | Riccardo Setti <giskard@autistici.org> | 2006-01-10 15:31:05 +0000 |
|---|---|---|
| committer | Riccardo Setti <giskard@autistici.org> | 2006-01-10 15:31:05 +0000 |
| commit | 109a7976fe0363e22681d919258b3d9ce4b3bfb3 (patch) | |
| tree | d3c6feb3f3d6e3117da1f7844737dd58ecf9a5d9 /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-event | 104 |
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 |