summaryrefslogtreecommitdiff
path: root/initscript
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2006-04-17 02:03:09 +0000
committerDan Williams <dcbw@redhat.com>2006-04-17 02:03:09 +0000
commite5040768d1ad0764a121daf829c2fb2d19ee424a (patch)
treef40f8c45f0a7c2a706d0c82c8c6bca40c3ed4ed0 /initscript
parentc80a9eeb5bb0445f174a11577eb106afd481fef3 (diff)
downloadNetworkManager-e5040768d1ad0764a121daf829c2fb2d19ee424a.tar.gz
2006-04-16 Dan Williams <dcbw@redhat.com>
Patch from Paul Blazejowski <paulb@blazebox.homeip.net> * configure.in initscript/Slackware/Makefile.am initscript/Slackware/rc.networkmanager-dispatcher.in initscript/Slackware/rc.networkmanager.in - Update slackware initscripts git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1688 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Diffstat (limited to 'initscript')
-rw-r--r--initscript/Slackware/Makefile.am4
-rw-r--r--initscript/Slackware/rc.networkmanager-dispatcher.in99
-rw-r--r--[-rwxr-xr-x]initscript/Slackware/rc.networkmanager.in (renamed from initscript/Slackware/rc.networkmanager)16
3 files changed, 114 insertions, 5 deletions
diff --git a/initscript/Slackware/Makefile.am b/initscript/Slackware/Makefile.am
index 5c7c4421df..70c508ff5b 100644
--- a/initscript/Slackware/Makefile.am
+++ b/initscript/Slackware/Makefile.am
@@ -1,5 +1,5 @@
-EXTRA_DIST = rc.networkmanager
+EXTRA_DIST = rc.networkmanager rc.networkmanager-dispatcher
initddir = $(sysconfdir)/rc.d
-initd_SCRIPTS = rc.networkmanager
+initd_SCRIPTS = rc.networkmanager rc.networkmanager-dispatcher
diff --git a/initscript/Slackware/rc.networkmanager-dispatcher.in b/initscript/Slackware/rc.networkmanager-dispatcher.in
new file mode 100644
index 0000000000..72e5b4ab6e
--- /dev/null
+++ b/initscript/Slackware/rc.networkmanager-dispatcher.in
@@ -0,0 +1,99 @@
+#!/bin/sh
+#
+# NetworkManagerDispatcher: NetworkManagerDispatcher daemon
+#
+# description: This is a daemon for automatically switching network \
+# connections to the best available connection. \
+#
+# processname: NetworkManagerDispatcher
+# pidfile: /var/run/NetworkManagerDispatcher.pid
+#
+
+prefix=@prefix@
+exec_prefix=@prefix@
+sbindir=@sbindir@
+
+NETWORKMANAGER_BIN=${sbindir}/NetworkManagerDispatcher
+
+# Sanity checks.
+[ -x $NETWORKMANAGER_BIN ] || exit 0
+
+# We need /sbin/ip
+[ -x /sbin/ip ] || exit 0
+
+PIDFILE=/var/run/NetworkManagerDispatcher.pid
+
+nm_start()
+{
+ if [ "`pgrep dbus-daemon`" = "" ]; then
+ echo "D-BUS must be running to start NetworkManagerDispatcher"
+ return
+ fi
+
+ if [ "`pgrep hald`" = "" ]; then
+ echo "HAL must be running to start NetworkManagerDispatcher"
+ return
+ fi
+
+ # Just in case the pidfile is still there, we may need to nuke it.
+ if [ -e "$PIDFILE" ]; then
+ rm -f $PIDFILE
+ fi
+
+ echo "Starting NetworkManagerDispatcher daemon: $NETWORKMANAGER_BIN"
+ $NETWORKMANAGER_BIN
+}
+
+nm_status()
+{
+ local pidlist=`cat $PIDFILE 2>/dev/null`
+ if [ -z "$pidlist" ]; then
+ return 1
+ fi
+ local command=`ps -p $pidlist -o comm=`
+ if [ "$command" != 'NetworkManagerDispatcher' ]; then
+ return 1
+ fi
+}
+
+nm_stop()
+{
+ echo -en "Stopping NetworkManagerDispatcher: "
+ local pidlist=`cat $PIDFILE 2>/dev/null`
+ if [ ! -z "$pidlist" ]; then
+ kill $pidlist &>/dev/null
+ rm -f $PIDFILE &>/dev/null
+ fi
+ echo "stopped";
+}
+
+nm_restart()
+{
+ nm_stop
+ nm_start
+}
+
+case "$1" in
+'start')
+ if ( ! nm_status ); then
+ nm_start
+ else
+ echo "NetworkManagerDispatcher is already running (will not start it twice)."
+ fi
+ ;;
+'stop')
+ nm_stop
+ ;;
+'restart')
+ nm_restart
+ ;;
+'status')
+ if ( nm_status ); then
+ echo "NetworkManagerDispatcher is currently running"
+ else
+ echo "NetworkManagerDispatcher is not running."
+ fi
+ ;;
+*)
+ echo "usage $0 start|stop|status|restart"
+esac
diff --git a/initscript/Slackware/rc.networkmanager b/initscript/Slackware/rc.networkmanager.in
index f02eddff5f..2d5bab9105 100755..100644
--- a/initscript/Slackware/rc.networkmanager
+++ b/initscript/Slackware/rc.networkmanager.in
@@ -8,8 +8,18 @@
# processname: NetworkManager
# pidfile: /var/run/NetworkManager.pid
#
+
+prefix=@prefix@
+exec_prefix=@prefix@
+sbindir=@sbindir@
+
+NETWORKMANAGER_BIN=${sbindir}/NetworkManager
+
+# Sanity checks.
+[ -x $NETWORKMANAGER_BIN ] || exit 0
+
# We need /sbin/ip
-[ -x /sbin/ip ] || exit 1
+[ -x /sbin/ip ] || exit 0
PIDFILE=/var/run/NetworkManager.pid
@@ -30,8 +40,8 @@ nm_start()
rm -f $PIDFILE
fi
- echo "Starting NetworkManager daemon: /usr/sbin/NetworkManager"
- /usr/sbin/NetworkManager
+ echo "Starting NetworkManager daemon: $NETWORKMANAGER_BIN"
+ $NETWORKMANAGER_BIN
}
nm_status()