summaryrefslogtreecommitdiffstats
path: root/source/ap/pm-utils
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2013-11-04 17:08:47 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:57:36 +0200
commit76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (patch)
tree9b98e6e193c7870cb27ac861394c1c4592850922 /source/ap/pm-utils
parent9664bee729d487bcc0a0bc35859f8e13d5421c75 (diff)
downloadcurrent-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.gz
current-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.xz
Slackware 14.1slackware-14.1
Mon Nov 4 17:08:47 UTC 2013 Slackware 14.1 x86_64 stable is released! It's been another interesting release cycle here at Slackware bringing new features like support for UEFI machines, updated compilers and development tools, the switch from MySQL to MariaDB, and many more improvements throughout the system. Thanks to the team, the upstream developers, the dedicated Slackware community, and everyone else who pitched in to help make this release a reality. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Have fun! :-)
Diffstat (limited to 'source/ap/pm-utils')
-rw-r--r--source/ap/pm-utils/49bluetooth-generic8
-rw-r--r--source/ap/pm-utils/README.SLACKWARE33
-rw-r--r--source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch32
-rw-r--r--source/ap/pm-utils/patches/fix-wrong-path-in-intel-audio-powersave.patch (renamed from source/ap/pm-utils/fix-wrong-path-in-intel-audio-powersave.patch)0
-rw-r--r--source/ap/pm-utils/patches/hook-exit-code-log.patch19
-rw-r--r--source/ap/pm-utils/patches/init-logfile-append.patch13
-rw-r--r--source/ap/pm-utils/patches/log-line-spacing-fix.patch14
-rw-r--r--source/ap/pm-utils/patches/use_more_sane_harddrive_defaults.patch (renamed from source/ap/pm-utils/use_more_sane_harddrive_defaults.patch)0
-rwxr-xr-xsource/ap/pm-utils/pm-utils.SlackBuild53
9 files changed, 129 insertions, 43 deletions
diff --git a/source/ap/pm-utils/49bluetooth-generic b/source/ap/pm-utils/49bluetooth-generic
index e62790e77..1c88f198d 100644
--- a/source/ap/pm-utils/49bluetooth-generic
+++ b/source/ap/pm-utils/49bluetooth-generic
@@ -4,10 +4,14 @@
case "$1" in
hibernate|suspend)
- rfkill block bluetooth
+ if [ -d /sys/devices/virtual/misc/rfkill -a -x /usr/sbin/rfkill -a -x /etc/rc.d/rc.bluetooth ]; then
+ rfkill block bluetooth
+ fi
;;
thaw|resume)
- rfkill unblock bluetooth
+ if [ -d /sys/devices/virtual/misc/rfkill -a -x /usr/sbin/rfkill -a -x /etc/rc.d/rc.bluetooth ]; then
+ rfkill unblock bluetooth
+ fi
;;
*)
;;
diff --git a/source/ap/pm-utils/README.SLACKWARE b/source/ap/pm-utils/README.SLACKWARE
index 7f91f2282..1bbfbfe81 100644
--- a/source/ap/pm-utils/README.SLACKWARE
+++ b/source/ap/pm-utils/README.SLACKWARE
@@ -1,5 +1,5 @@
README.SLACKWARE
-20101229 - rworkman@slackware.com
+20130512 - rworkman@slackware.com
===============================================================================
PLEASE READ THIS ENTIRE FILE BEFORE REPORTING PROBLEMS OR ASKING FOR HELP!
@@ -29,7 +29,7 @@ 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.35.10-smp
+ image = /boot/vmlinuz-generic-smp-3.8.13-smp
initrd = /boot/initrd.gz
append = "resume=/dev/sda2"
root = /dev/sda1
@@ -43,7 +43,7 @@ Stanza in /etc/lilo.conf should look something like this:
RESUMEDEV="/dev/sda2"
mkinitrd command invocation would be this:
- mkinitrd -c -k 2.6.35.10-smp -F
+ mkinitrd -c -k 3.8.13-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
@@ -60,7 +60,11 @@ kde and xfce have one).
/* TODO: these links are now dead. That's mostly okay, because the vast
majority of the hardware out there these days doesn't require any quirks
- at all any more. Hopefully you won't be in the minority :-) */
+ at all any more. Hopefully you won't be in the minority :-)
+ Addendum: it's now been about three years since the above text was
+ written, and I've had zero reports of hardware requiring additional
+ quirks. Just FYI. :-)
+*/
If it doesn't work by default for you, consider having a look at
http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-index.html
@@ -97,11 +101,10 @@ also available; none of these will cause the suspend to fail:
The default powersave hooks are in /usr/lib(64)/pm-utils/power.d/ -- if you
need to override any parameters set in those, you can do so with same-named
-files in /etc/pm/power.d/ (populated with only the parameters you wish to
-change). As an example, if you wanted to change the hdparm setting for
-your hard drive's power management setting: rather than copying the entire
-contents of /usr/lib(64)/pm-utils/power.d/harddrive to /etc/pm/power.d/ and
-editing the copy, you could place only these two lines:
+files in /etc/pm/power.d/ As an example, if you wanted to change the hdparm
+setting for your hard drive's power management setting, you would copy the
+entire file at /usr/lib(64)/pm-utils/power.d/harddrive to /etc/pm/power.d/
+and edit the copy to reflect your needs, e.g.:
DRIVE_POWER_MGMT_BAT=128 # edit value as desired
DRIVE_POWER_MGMT_AC=128 # edit value as desired
@@ -111,20 +114,8 @@ chmod +x) in order to be used by pm-utils; otherwise, they will be ignored.
==============================================================================
-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
-/* TODO: remove? I've gotten *zero* mails about either of these since
- we've been shipping pm-utils */
-
**** If you encounter either of these, mail rworkman@slackware.com ****
If your alsa drivers don't correctly save and restore state across a sleep /
diff --git a/source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch b/source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch
new file mode 100644
index 000000000..e09d07669
--- /dev/null
+++ b/source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch
@@ -0,0 +1,32 @@
+diff --git a/pm/pm-functions.in b/pm/pm-functions.in
+--- a/pm/pm-functions.in
++++ b/pm/pm-functions.in
+@@ -316,8 +316,28 @@ if [ -z "$HIBERNATE_MODULE" ] && \
+ {
+ [ -n "${HIBERNATE_MODE}" ] && \
+ grep -qw "${HIBERNATE_MODE}" /sys/power/disk && \
++ HIBERNATE_MODE_SAVE=$(cat /sys/power/disk) && \
++ HIBERNATE_MODE_SAVE="${HIBERNATE_MODE_SAVE##*[}" && \
++ HIBERNATE_MODE_SAVE="${HIBERNATE_MODE_SAVE%%]*}" && \
+ echo -n "${HIBERNATE_MODE}" > /sys/power/disk
+ echo -n "disk" > /sys/power/state
++ RET=$?
++ echo -n "$HIBERNATE_MODE_SAVE" > /sys/power/disk
++ return "$RET"
++ }
++fi
++
++# for kernels that support suspend to both (i.e. hybrid suspend)
++# since kernel 3.6
++if [ -z "$SUSPEND_HYBRID_MODULE" ] && \
++ [ -f /sys/power/disk ] && \
++ grep -q disk /sys/power/state && \
++ grep -q suspend /sys/power/disk; then
++ SUSPEND_HYBRID_MODULE="kernel"
++ do_suspend_hybrid()
++ {
++ HIBERNATE_MODE="suspend"
++ do_hibernate
+ }
+ fi
+
diff --git a/source/ap/pm-utils/fix-wrong-path-in-intel-audio-powersave.patch b/source/ap/pm-utils/patches/fix-wrong-path-in-intel-audio-powersave.patch
index 900397106..900397106 100644
--- a/source/ap/pm-utils/fix-wrong-path-in-intel-audio-powersave.patch
+++ b/source/ap/pm-utils/patches/fix-wrong-path-in-intel-audio-powersave.patch
diff --git a/source/ap/pm-utils/patches/hook-exit-code-log.patch b/source/ap/pm-utils/patches/hook-exit-code-log.patch
new file mode 100644
index 000000000..7eccd83b0
--- /dev/null
+++ b/source/ap/pm-utils/patches/hook-exit-code-log.patch
@@ -0,0 +1,19 @@
+diff -up pm-utils-1.4.1/pm/pm-functions.in.orig pm-utils-1.4.1/pm/pm-functions.in
+--- pm-utils-1.4.1/pm/pm-functions.in.orig 2011-08-22 14:52:58.976213050 +0200
++++ pm-utils-1.4.1/pm/pm-functions.in 2011-08-22 14:57:26.000000000 +0200
+@@ -195,11 +195,13 @@ hook_ok()
+ _run_hook() {
+ # $1 = hook to run
+ # rest of args passed to hook unchanged.
++ local hook_status
+ log "Running hook $*:"
+ hook_ok "$1" && "$@"
++ hook_status=$?
+ log ""
+- log -n "$*: "
+- hook_exit_status $? && LAST_HOOK="${1##*/}" || inhibit
++ log -n "$*: "
++ hook_exit_status $hook_status && LAST_HOOK="${1##*/}" || inhibit
+ }
+
+ if profiling; then
diff --git a/source/ap/pm-utils/patches/init-logfile-append.patch b/source/ap/pm-utils/patches/init-logfile-append.patch
new file mode 100644
index 000000000..079782630
--- /dev/null
+++ b/source/ap/pm-utils/patches/init-logfile-append.patch
@@ -0,0 +1,13 @@
+--- pm-utils-1.4.1/pm/pm-functions.in.old 2010-07-04 16:50:13.000000000 +0200
++++ pm-utils-1.4.1/pm/pm-functions.in 2010-12-07 16:48:39.555074652 +0100
+@@ -271,7 +271,9 @@
+ return 1
+ fi
+ export LOGGING=true
+- exec > "$1" 2>&1
++ rm -f "$1"
++ touch "$1"
++ exec >> "$1" 2>&1
+ }
+
+ check_suspend() { [ -n "$SUSPEND_MODULE" ]; }
diff --git a/source/ap/pm-utils/patches/log-line-spacing-fix.patch b/source/ap/pm-utils/patches/log-line-spacing-fix.patch
new file mode 100644
index 000000000..cf4fbe382
--- /dev/null
+++ b/source/ap/pm-utils/patches/log-line-spacing-fix.patch
@@ -0,0 +1,14 @@
+diff -up pm-utils-1.4.1/pm/pm-functions.in.orig pm-utils-1.4.1/pm/pm-functions.in
+--- pm-utils-1.4.1/pm/pm-functions.in.orig 2011-11-02 11:43:24.000000000 +0100
++++ pm-utils-1.4.1/pm/pm-functions.in 2011-11-02 11:43:49.987116603 +0100
+@@ -199,9 +199,9 @@ _run_hook() {
+ log "Running hook $*:"
+ hook_ok "$1" && "$@"
+ hook_status=$?
+- log ""
+ log -n "$*: "
+ hook_exit_status $hook_status && LAST_HOOK="${1##*/}" || inhibit
++ log ""
+ }
+
+ if profiling; then
diff --git a/source/ap/pm-utils/use_more_sane_harddrive_defaults.patch b/source/ap/pm-utils/patches/use_more_sane_harddrive_defaults.patch
index 3dcc81566..3dcc81566 100644
--- a/source/ap/pm-utils/use_more_sane_harddrive_defaults.patch
+++ b/source/ap/pm-utils/patches/use_more_sane_harddrive_defaults.patch
diff --git a/source/ap/pm-utils/pm-utils.SlackBuild b/source/ap/pm-utils/pm-utils.SlackBuild
index 1ae12666d..b8c82a8c8 100755
--- a/source/ap/pm-utils/pm-utils.SlackBuild
+++ b/source/ap/pm-utils/pm-utils.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for pm-utils
# Copyright 2008, 2009, 2010 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=pm-utils
VERSION=$(echo ${PKGNAM}-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-5}
QUIRKS=20100619 # Version of the quirks database
@@ -72,8 +72,18 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/use_more_sane_harddrive_defaults.patch.gz | patch -p1 || exit 1
-zcat $CWD/fix-wrong-path-in-intel-audio-powersave.patch.gz | patch -p1 || exit 1
+zcat $CWD/patches/use_more_sane_harddrive_defaults.patch.gz | patch -p1 || exit 1
+zcat $CWD/patches/fix-wrong-path-in-intel-audio-powersave.patch.gz | patch -p1 || exit 1
+
+# Thanks to Fedora for these:
+# Use append instead of write for init_logfile
+zcat $CWD/patches/init-logfile-append.patch.gz | patch -p1 || exit 1
+# Fix hooks exit code logging
+zcat $CWD/patches/hook-exit-code-log.patch.gz | patch -p1 || exit 1
+# Fix line spacing in logs to be easier to read
+zcat $CWD/patches/log-line-spacing-fix.patch.gz | patch -p1 || exit 1
+# Add support for in-kernel (from kernel 3.6) suspend to both
+zcat $CWD/patches/add-in-kernel-suspend-to-both.patch.gz | patch -p1 || exit 1
CFLAGS="$SLKCFLAGS" \
./configure \
@@ -101,26 +111,29 @@ chown -R root:root $PKG/$PM_UTILS_LIBDIR/video-quirks
chmod 0755 49bluetooth-generic
)
-# Remove the NetworkManager hook since we don't ship it;
-# it should be included with NetworkManager
-rm -f $PKG/usr/lib64/pm-utils/sleep.d/55NetworkManager
+# Remove the NetworkManager hook - recent NM listens to upower events
+# directly to know when the system is suspending/waking
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/55NetworkManager
+
+# Remove hooks which have shown to not reduce, or even increase power
+# usage (thanks to Debian for this, and to Marin Glibic for the referral)
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/power.d/journal-commit
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/power.d/readahead
+
+# HAL is gone, so this should be too:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/power.d/hal-cd-polling
+
+# Actually, it is a bad thing(tm) for pm-utils to go messing around with all
+# of the user's settings with the hooks in the power.d directory. Anything
+# that wasn't already taken out back behind the shed should be disabled by
+# default:
+chmod 644 $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/power.d/*
find $PKG | xargs file | grep -e "executable" -e "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
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \