summaryrefslogtreecommitdiff
path: root/source/ap/pm-utils
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committerEric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/ap/pm-utils
downloadcurrent-5a12e7c134274dba706667107d10d231517d3e05.tar.gz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
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 00000000..07162439
--- /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 00000000..26e60714
--- /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 00000000..976c938f
--- /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 00000000..8791c930
--- /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: