diff options
-rw-r--r-- | network/NetworkManager/55NetworkManager | 42 | ||||
-rw-r--r-- | network/NetworkManager/NetworkManager.SlackBuild | 10 |
2 files changed, 51 insertions, 1 deletions
diff --git a/network/NetworkManager/55NetworkManager b/network/NetworkManager/55NetworkManager new file mode 100644 index 0000000000..f3c6df5e5c --- /dev/null +++ b/network/NetworkManager/55NetworkManager @@ -0,0 +1,42 @@ +#!/bin/sh +# If we are running NetworkManager, tell it we are going to sleep. +# TODO: Make NetworkManager smarter about how to handle sleep/resume +# If we are asleep for less time than it takes for TCP to reset a +# connection, and we are assigned the same IP on resume, we should +# not break established connections. Apple can do this, and it is +# rather nifty. + +. "${PM_FUNCTIONS}" + +suspend_nm() +{ + # Tell NetworkManager to shut down networking + printf "Having NetworkManager put all interaces to sleep..." + dbus_send --system \ + --dest=org.freedesktop.NetworkManager \ + /org/freedesktop/NetworkManager \ + org.freedesktop.NetworkManager.sleep && \ + echo Done. || echo Failed. +} + +resume_nm() +{ + # Wake up NetworkManager and make it do a new connection + printf "Having NetworkManager wake interfaces back up..." + dbus_send --system \ + --dest=org.freedesktop.NetworkManager \ + /org/freedesktop/NetworkManager \ + org.freedesktop.NetworkManager.wake && \ + echo Done. || echo Failed. +} + +case "$1" in + hibernate|suspend) + suspend_nm + ;; + thaw|resume) + resume_nm + ;; + *) exit $NA + ;; +esac diff --git a/network/NetworkManager/NetworkManager.SlackBuild b/network/NetworkManager/NetworkManager.SlackBuild index 01660386f0..c858e24ea8 100644 --- a/network/NetworkManager/NetworkManager.SlackBuild +++ b/network/NetworkManager/NetworkManager.SlackBuild @@ -24,7 +24,7 @@ PRGNAM=NetworkManager VERSION=${VERSION:-0.8.2} -BUILD=${BUILD:-4} +BUILD=${BUILD:-5} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -120,6 +120,14 @@ mkdir -p $PKG/usr/share/dbus-1/system-services cat $CWD/fi.epitest.hostap.WPASupplicant.service > \ $PKG/usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service +# pm-utils upstream ships this file, but it shouldn't really, and it's going +# to be removed from the Slackware package, so we'll include it here just to +# be sure. Once upower is part of Slackware, this file can be removed, since +# NM listens to upower events to know when to sleep/wake +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d +cp $CWD/55NetworkManager $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/ +chmod 0755 $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/55NetworkManager + mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a \ AUTHORS CONTRIBUTING COPYING ChangeLog INSTALL NEWS README TODO \ |