network/NetworkManager: Add the pm-utils sleep hook

The sleep hook for pm-utils is currently shipped with Slackware's
pm-utils package, but that will change in the future.  It won't
affect us during 13.1 at all, but this won't hurt either.

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Robby Workman 2011-01-10 12:42:24 -06:00
parent 01255abf61
commit 68c0f83fbb
2 changed files with 51 additions and 1 deletions

View file

@ -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

View file

@ -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 \