summaryrefslogtreecommitdiffstats
path: root/source/ap/pm-utils
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/pm-utils')
-rw-r--r--source/ap/pm-utils/README.SLACKWARE119
-rwxr-xr-xsource/ap/pm-utils/pm-utils.SlackBuild105
-rw-r--r--source/ap/pm-utils/pm-utils.url1
-rw-r--r--source/ap/pm-utils/slack-desc19
4 files changed, 244 insertions, 0 deletions
diff --git a/source/ap/pm-utils/README.SLACKWARE b/source/ap/pm-utils/README.SLACKWARE
new file mode 100644
index 000000000..071624395
--- /dev/null
+++ b/source/ap/pm-utils/README.SLACKWARE
@@ -0,0 +1,119 @@
+README.SLACKWARE
+20090414 - rworkman@slackware.com
+
+===============================================================================
+PLEASE READ THIS ENTIRE FILE BEFORE REPORTING PROBLEMS OR ASKING FOR HELP!
+===============================================================================
+
+One of these routines should tell you whether any of the operations
+are supported by your current kernel/userspace at all:
+
+ for i in hibernate suspend suspend-hybrid ; do
+ pm-is-supported --$i \
+ && echo "$i is supported" \
+ || echo "$i is not supported" ;
+ done
+
+ *OR*
+
+ cat /sys/power/state
+
+Assuming they are supported, running "pm-suspend" as root should do a suspend
+to ram, and "pm-hibernate" should suspend to disk. Note that you must have a
+swap partition (or file, but partition is easier) which is large enough
+(2x ram is good here) and the relevant initrd lines and such for this to work.
+If you're not familiar with all of that, don't test pm-hibernate.
+I don't have hardware which supports suspend-hybrid, so I have no idea if/how
+it works at all.
+
+Here's the short version of using suspend to disk:
+
+Stanza in /etc/lilo.conf should look something like this:
+ image = /boot/vmlinuz-generic-smp-2.6.29.1-smp
+ initrd = /boot/initrd.gz
+ append = "resume=/dev/hda2"
+ root = /dev/hda1
+ label = Slackware
+ read-only
+
+/etc/mkinitrd.conf should look something like this:
+ MODULE_LIST="jfs"
+ ROOTDEV="/dev/hda1"
+ ROOTFS="jfs"
+ RESUMEDEV="/dev/hda2"
+
+mkinitrd command invocation would be this:
+ mkinitrd -c -k 2.6.29.1-smp -F
+
+All of the above assumes at least a cursory understanding of what those
+commands and parameters do. If it's not clear, don't attempt it on a
+system that you can't easily reinstall without concern.
+
+==============================================================================
+
+If it works for you, and/or you want to automate it a bit, you'll find
+some sample acpi event declarations and scripts here:
+ http://rlworkman.net/conf/acpi/
+A better option is to use the power manager daemon included with your choice
+of desktop environment (both kde and xfce have one).
+
+==============================================================================
+
+If it doesn't work by default for you, consider having a look at
+ http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-index.html
+for some debugging hints. Pay particular attention to this page:
+ http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-try.html
+
+If you are able to get your machine to suspend/resume correctly by passing
+additional quirks on the command line, then I would like to know about it so
+that upstream hal-info can get the correct information to use. Please email
+the make/model and other relevant information about your machine along with
+the full output of "lshal" and "lspci" attached, and what extra quirks you
+needed to add for successful suspend/resume to rworkman@slackware.com
+
+==============================================================================
+
+If you need the system to do certain operations before going to sleep and
+then undo them (or perhaps do something new) when waking back up, pm-utils
+supports something called "hooks." The hooks installed by packages (not only
+pm-utils itself) should be in /usr/lib/pm-utils/sleep.d/, while any hooks
+installed by the local system administrator (e.g. things that are only an
+issue on that one machine) should be in /etc/pm/sleep.d/.
+
+Looking at some of the existing hooks should give you a decent idea of their
+capabilities; as a head start, the functions used in the hooks are declared
+in /usr/lib/pm-utils/functions, which is inherited elsewhere by
+/usr/lib/pm-utils/pm-functions. Note that an error exit code on any hook
+will cause the sleep operation to fail, so if you don't care whether your
+hook executes successfully, be sure to return an exit code of 0 (success) if
+you don't want the suspend operation to fail. Some other exit codes are
+also available; none of these will cause the suspend to fail:
+ $NA (not applicable), $NX (hook not executable), and $DX (hook disabled)
+
+One way to contribute to pm-utils indirectly is by writing and sending any
+needed hooks scripts to upstream projects; as an example, the hook that
+ships with wicd was contributed by me. Ideally, the pm-utils package should
+have a very minimum number of hooks shipped with it, as they should ship with
+the package to which the hook pertains; for example, the grub package would
+ship its own hook.
+
+==============================================================================
+
+KNOWN ISSUES
+
+**** If you encounter either of these, mail rworkman@slackware.com ****
+
+If your alsa drivers don't correctly save and restore state across a sleep /
+resume cycle (due to a buggy driver), then you will need to add the drivers
+to a custom file named /etc/pm/config.d/defaults (create the file if it does
+not exist already) in a variable named "SUSPEND_MODULES" - see the file at
+/usr/lib/pm-utils/defaults for proper format.
+
+The /usr/lib/pm-utils/sleep.d/90clock does not run by default. It added
+over a second to suspend, and the vast majority of hardware does not need it
+to keep the clocks in sync. If you need this hook, you can set the
+NEED_CLOCK_SYNC environment variable in a custom /etc/pm/config.d/defaults
+file.
+
+==============================================================================
+
diff --git a/source/ap/pm-utils/pm-utils.SlackBuild b/source/ap/pm-utils/pm-utils.SlackBuild
new file mode 100755
index 000000000..26e60714f
--- /dev/null
+++ b/source/ap/pm-utils/pm-utils.SlackBuild
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+# Slackware build script for pm-utils
+
+# Copyright 2008, 2009 Robby Workman, Northport, Alabama, USA
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=pm-utils
+VERSION=1.2.5
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PRGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z* || exit 1
+cd $PRGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING INSTALL NEWS README* TODO \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/ap/pm-utils/pm-utils.url b/source/ap/pm-utils/pm-utils.url
new file mode 100644
index 000000000..976c938fb
--- /dev/null
+++ b/source/ap/pm-utils/pm-utils.url
@@ -0,0 +1 @@
+http://pm-utils.freedesktop.org
diff --git a/source/ap/pm-utils/slack-desc b/source/ap/pm-utils/slack-desc
new file mode 100644
index 000000000..8791c9304
--- /dev/null
+++ b/source/ap/pm-utils/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-------------------------------------------------------|
+pm-utils: pm-utils (Power Management Utilities)
+pm-utils:
+pm-utils: The pm-utils package provides simple shell command line tools to
+pm-utils: suspend and hibernate computers that can be used to run vendor or
+pm-utils: distribution supplied scripts on suspend and resume.
+pm-utils:
+pm-utils: Homepage: http://pm-utils.freedesktop.org/
+pm-utils:
+pm-utils:
+pm-utils:
+pm-utils: