From a1872131e91e25064f252dbd147613ea045e1a57 Mon Sep 17 00:00:00 2001 From: azazello Date: Fri, 9 Nov 2007 17:18:02 +0000 Subject: sys-power/acpi-support: version bump svn path=/sunrise/; revision=5035 --- sys-power/acpi-support/ChangeLog | 4 + sys-power/acpi-support/Manifest | 5 +- sys-power/acpi-support/acpi-support-0.103.ebuild | 85 ++++ .../files/acpi-support-0.103-gentoo.patch | 461 +++++++++++++++++++++ 4 files changed, 554 insertions(+), 1 deletion(-) create mode 100644 sys-power/acpi-support/acpi-support-0.103.ebuild create mode 100644 sys-power/acpi-support/files/acpi-support-0.103-gentoo.patch (limited to 'sys-power') diff --git a/sys-power/acpi-support/ChangeLog b/sys-power/acpi-support/ChangeLog index 63fc00247..f741ca2fd 100644 --- a/sys-power/acpi-support/ChangeLog +++ b/sys-power/acpi-support/ChangeLog @@ -2,6 +2,10 @@ # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 09 Nov 2007; azazello +acpi-support-0.103.ebuild, + +files/acpi-support-0.103-gentoo.patch: + version bump + 15 Apr 2007; Jakub Moc -acpi-support-0.91.ebuild, -files/acpi-support-0.91-gentoo.patch, acpi-support-0.95.ebuild: Remove old, remove bogus use flags and move relevant info to pkg_postinst. diff --git a/sys-power/acpi-support/Manifest b/sys-power/acpi-support/Manifest index f7e0b72e0..962a3783a 100644 --- a/sys-power/acpi-support/Manifest +++ b/sys-power/acpi-support/Manifest @@ -1,5 +1,8 @@ +AUX acpi-support-0.103-gentoo.patch 16714 RMD160 684233251d7cd3814adc52d6fc8c70094e5e5a8d SHA1 d620d962bada1d6c0d31c660e796b8661c63f76f SHA256 6182cea5ad0f6e844a0ad198a5b9ab17d534af00c8444426a0ce6be6904c9b05 AUX acpi-support-0.95-gentoo.patch 10738 RMD160 704f66b855fc4bebae197b8817ff50bc0260b5e5 SHA1 1b2349a363fa68fc738d016efef204d9e579b2a8 SHA256 c95ca160931bbfa0837884d2b9034bebc66bed016d54e2182cf4883bab053b5f +DIST acpi-support_0.103.tar.gz 40874 RMD160 36a2fb06bfff21a8523d1df9ce917a2603f7c155 SHA1 058dabab97258cca69f8a48a31c5805d0da3ec5b SHA256 c456b9275077a3a0667a683163ba6574c8d7661d2a9a68a19dab8ef0fc0f2bfe DIST acpi-support_0.95.tar.gz 43813 RMD160 ae8cbddb8f6a18d033d528c2f7a169c9b23f5e89 SHA1 5aac3d6f33b9c24cfc3a2ae90b20d6f7b14b5ff0 SHA256 c717b06b32cb427d2f927711f0cf7066ad117475f29c1fea5394bbadd2e8a4a9 +EBUILD acpi-support-0.103.ebuild 2375 RMD160 d9a68f1d7c228e56925f67643d3251255b9d47a3 SHA1 7161dc25a7096a38902f71a3af9566adbf14bbb7 SHA256 a6f6c29d35dfc3e1eed00f2a9c6c1c59bbcacbbe6c3633b4458e0c5c1abc6006 EBUILD acpi-support-0.95.ebuild 2374 RMD160 9b76753c62ed3fb27ec843b994bd0b5b23cc0364 SHA1 392da43e993306f78efd70ef08364fc3d1b03526 SHA256 59a1847b828f510c14ed25228e9267a7c7f4eb7105104f194337ff82954931a3 -MISC ChangeLog 1544 RMD160 dbce102216e61beac2e4fda4c768e15500223103 SHA1 adb098477c758bd570a328d929172c7b659f4eac SHA256 b3a65d5f3d34a48d26366346fd308bd89f2db34d2121c46f0277a2e92578cbe8 +MISC ChangeLog 1678 RMD160 36c0504e2b3ea185e1f9b4f6650eb0ccfa742405 SHA1 fd11e2586b2216b36bb398881c4c9f7ba5c462ee SHA256 fe33cac2c04ac3b6a45479ff4527aea06deba0fbdfc082b01e9742462b2c29a5 MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42 diff --git a/sys-power/acpi-support/acpi-support-0.103.ebuild b/sys-power/acpi-support/acpi-support-0.103.ebuild new file mode 100644 index 000000000..8a163e6c1 --- /dev/null +++ b/sys-power/acpi-support/acpi-support-0.103.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils + +DESCRIPTION="Ubuntu scripts and events for acpid, power management, and vendor-specific laptop configuration" +HOMEPAGE="http://packages.ubuntu.com/feisty/admin/acpi-support" +SRC_URI="http://archive.ubuntu.com/ubuntu/pool/main/a/acpi-support/acpi-support_${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="X hibernate-script video_cards_radeon" + +DEPEND="" +RDEPEND="sys-power/acpid + sys-apps/kbd + sys-apps/dmidecode + sys-apps/vbetool + sys-apps/ethtool + sys-power/powermgmt-base + hibernate-script? ( sys-power/hibernate-script ) + X? ( x11-apps/xset ) + video_cards_radeon? ( app-laptop/radeontool )" + +# Say thanks to whoever packaged this... +S=${WORKDIR}/${PN}-0.102 + +src_unpack() { + unpack ${A} + epatch "${FILESDIR}/${P}-gentoo.patch" + use hibernate-script && sed -i '/USE_HIBERNATE_SCRIPT=true/ s/# //' "${S}/acpi-support" + use video_cards_radeon && sed -i '/RADEON_LIGHT=true/ s/# //' "${S}/acpi-support" + use X || sed -i '/xset/ s/\(.*\)/#\1/' "${S}/"{lid.sh,lib/screenblank} + sed -i "s!/etc/default/acpi-support!/etc/conf.d/${PN}!" "${S}/"{*.sh,vbesave} || die "sed failed" +} + +src_compile() { + sed -i 's/strip acpi_fakekey//' Makefile + emake || die "emake failed" +} + +src_install() { + dobin acpi_fakekey + + insinto /usr/share/${PN} + doins key-constants lib/* + + insinto /etc/acpi + insopts -m755 + doins *.sh + doins -r *.d events + + doconfd ${PN} + newinitd debian/init.d ${PN} + + keepdir /etc/acpi/{local,{resume,battery,events,suspend,start,ac}.d} /var/lib/${PN} + dodoc README +} + +pkg_postinst() { + elog "You may wish to read the Gentoo Linux Power Management Guide," + elog "which can be found online at:" + elog + elog "http://www.gentoo.org/doc/en/power-management-guide.xml" + elog + elog "The following packages provide additional functionality:" + elog + elog "app-laptop/laptop-mode-tools" + elog "app-laptop/toshset" + elog "sys-power/kpowersave" + elog "sys-power/powersave" + elog "sys-apps/855resolution" + elog "sys-apps/pcmciautils" + elog + elog "To initialize power management options for your devices at" + elog "system startup, please run the following:" + elog + elog "rc-update add ${PN} default" + elog + elog "This package will not work until you restart acpid. Please run the following:" + elog + elog "/etc/init.d/acpid restart" +} diff --git a/sys-power/acpi-support/files/acpi-support-0.103-gentoo.patch b/sys-power/acpi-support/files/acpi-support-0.103-gentoo.patch new file mode 100644 index 000000000..64db7a506 --- /dev/null +++ b/sys-power/acpi-support/files/acpi-support-0.103-gentoo.patch @@ -0,0 +1,461 @@ +diff -urN orig/acpi-support-0.102/acpi-support work/acpi-support-0.102/acpi-support +--- orig/acpi-support-0.102/acpi-support 2007-08-30 23:35:02.000000000 -0400 ++++ work/acpi-support-0.102/acpi-support 2007-11-09 10:48:42.000000000 -0500 +@@ -69,4 +69,12 @@ + ENABLE_LAPTOP_MODE=false + + # Spindown time on battery +-SPINDOWN_TIME=12 +\ No newline at end of file ++SPINDOWN_TIME=12 ++ ++# Disable wake-on-LAN for wired Ethernet devices. WOL is on by default on some ++# laptops. Disabling it can save power during sleep. ++# DISABLE_WOL=true ++ ++# Use hibernate-script to handle hibernation and sleep. Hibernate-script uses ++# configuration files in /etc/hibernate and does not use the options above. ++# USE_HIBERNATE_SCRIPT=true +diff -urN orig/acpi-support-0.102/debian/init.d work/acpi-support-0.102/debian/init.d +--- orig/acpi-support-0.102/debian/init.d 2007-08-30 22:48:20.000000000 -0400 ++++ work/acpi-support-0.102/debian/init.d 2007-11-09 12:11:54.000000000 -0500 +@@ -1,35 +1,34 @@ +-#!/bin/bash ++#!/sbin/runscript + # INIT script to check whether we're on batteries, and so start with laptop + # mode etc enabled. + + # BUGS: unless we start *really* late, we have no way of throttling + # xscreensaver, since it won't be there to command. +-. /usr/share/acpi-support/power-funcs +- +-test -f /lib/lsb/init-functions || exit 1 +-. /lib/lsb/init-functions +- +-test -d /var/lib/acpi-support || exit 0 +- +-shopt -s nullglob +- +-case "$1" in +- start) +- log_begin_msg "Checking battery state..." +- /etc/acpi/power.sh +- # Source everything in /etc/acpi/start.d/ +- for SCRIPT in /etc/acpi/start.d/*.sh; do +- . $SCRIPT +- done +- log_end_msg 0 +- ;; +- stop) +- log_begin_msg "Disabling power management..." +- /etc/acpi/power.sh stop +- log_end_msg 0 +- ;; +- *) +- ;; +-esac +- + ++depend() { ++ need acpid ++} ++ ++start() { ++ ebegin "Starting acpi-support" ++ . /usr/share/acpi-support/power-funcs ++ ++ test -d /var/lib/acpi-support || eend 0 ++ ++ shopt -s nullglob ++ ++ ebegin "Checking battery state..." ++ /etc/acpi/power.sh ++ ++ # Source everything in /etc/acpi/start.d/ ++ for SCRIPT in /etc/acpi/start.d/*.sh; do ++ . $SCRIPT ++ done ++ eend 0 ++} ++ ++stop() { ++ ebegin "Disabling power management..." ++ /etc/acpi/power.sh stop ++ eend 0 ++} +diff -urN orig/acpi-support-0.102/debian/init.d.orig work/acpi-support-0.102/debian/init.d.orig +--- orig/acpi-support-0.102/debian/init.d.orig 1969-12-31 19:00:00.000000000 -0500 ++++ work/acpi-support-0.102/debian/init.d.orig 2007-11-09 10:24:44.000000000 -0500 +@@ -0,0 +1,35 @@ ++#!/bin/bash ++# INIT script to check whether we're on batteries, and so start with laptop ++# mode etc enabled. ++ ++# BUGS: unless we start *really* late, we have no way of throttling ++# xscreensaver, since it won't be there to command. ++. /usr/share/acpi-support/power-funcs ++ ++test -f /lib/lsb/init-functions || exit 1 ++. /lib/lsb/init-functions ++ ++test -d /var/lib/acpi-support || exit 0 ++ ++shopt -s nullglob ++ ++case "$1" in ++ start) ++ log_begin_msg "Checking battery state..." ++ /etc/acpi/power.sh ++ # Source everything in /etc/acpi/start.d/ ++ for SCRIPT in /etc/acpi/start.d/*.sh; do ++ . $SCRIPT ++ done ++ log_end_msg 0 ++ ;; ++ stop) ++ log_begin_msg "Disabling power management..." ++ /etc/acpi/power.sh stop ++ log_end_msg 0 ++ ;; ++ *) ++ ;; ++esac ++ ++ +diff -urN orig/acpi-support-0.102/events/ibm-ultrabay-eject work/acpi-support-0.102/events/ibm-ultrabay-eject +--- orig/acpi-support-0.102/events/ibm-ultrabay-eject 1969-12-31 19:00:00.000000000 -0500 ++++ work/acpi-support-0.102/events/ibm-ultrabay-eject 2007-11-09 10:47:47.000000000 -0500 +@@ -0,0 +1,5 @@ ++# /etc/acpi/events/ibm-ultrabay-eject ++# This is called when the user ejects the ultrabay lever ++ ++event=ibm/bay MSTR 00000003 00000000 ++action=/etc/acpi/thinkpad-ultrabay-eject.sh +diff -urN orig/acpi-support-0.102/events/ibm-ultrabay-insert work/acpi-support-0.102/events/ibm-ultrabay-insert +--- orig/acpi-support-0.102/events/ibm-ultrabay-insert 1969-12-31 19:00:00.000000000 -0500 ++++ work/acpi-support-0.102/events/ibm-ultrabay-insert 2007-11-09 10:47:47.000000000 -0500 +@@ -0,0 +1,5 @@ ++# /etc/acpi/events/ibm-ultrabay-insert ++# This is called when the user inserts the ultrabay lever ++ ++event=ibm/bay MSTR 00000001 00000000 ++action=/etc/acpi/thinkpad-ultrabay-insert.sh +diff -urN orig/acpi-support-0.102/hibernatebtn.sh work/acpi-support-0.102/hibernatebtn.sh +--- orig/acpi-support-0.102/hibernatebtn.sh 2006-02-06 09:54:47.000000000 -0500 ++++ work/acpi-support-0.102/hibernatebtn.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -1,3 +1,3 @@ + #!/bin/bash +-. /usr/share/acpi-support/key-constants +-acpi_fakekey $KEY_SUSPEND ++ ++. /etc/acpi/hibernate.sh +diff -urN orig/acpi-support-0.102/hibernate.sh work/acpi-support-0.102/hibernate.sh +--- orig/acpi-support-0.102/hibernate.sh 2006-09-15 16:43:46.000000000 -0400 ++++ work/acpi-support-0.102/hibernate.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -8,6 +8,11 @@ + exit; + fi + ++if [[ $USE_HIBERNATE_SCRIPT == true ]] && [[ -x /usr/sbin/hibernate ]] ; then ++ /usr/sbin/hibernate ++ exit ++fi ++ + # Unset video posting - it's not needed for suspend to disk + unset POST_VIDEO + unset USE_DPMS +diff -urN orig/acpi-support-0.102/lib/policy-funcs work/acpi-support-0.102/lib/policy-funcs +--- orig/acpi-support-0.102/lib/policy-funcs 2006-05-19 16:21:58.000000000 -0400 ++++ work/acpi-support-0.102/lib/policy-funcs 2007-11-09 10:47:47.000000000 -0500 +@@ -1,6 +1,6 @@ + CheckPolicy() { + if pidof gnome-power-manager kpowersave > /dev/null || +- (pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop kded kded loadedModules | grep -q klaptopdaemon) ; then ++ (pidof dcopserver > /dev/null && test -x /usr/kde/3.5/bin/dcop && /usr/kde/3.5/bin/dcop kded kded loadedModules | grep -q klaptopdaemon) ; then + echo 0; + else + echo 1; +diff -urN orig/acpi-support-0.102/lib/power-funcs work/acpi-support-0.102/lib/power-funcs +--- orig/acpi-support-0.102/lib/power-funcs 2007-08-30 22:07:02.000000000 -0400 ++++ work/acpi-support-0.102/lib/power-funcs 2007-11-09 10:47:47.000000000 -0500 +@@ -6,9 +6,9 @@ + POWERSTATE="/var/lib/acpi-support/powerstate" + + getXuser() { +- user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'` ++ user=`who| grep -m1 ":$displaynum " | awk '{print $1}'` + if [ x"$user" = x"" ]; then +- user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'` ++ user=`who| grep -m1 ":$displaynum" | awk '{print $1}'` + fi + if [ x"$user" != x"" ]; then + userhome=`getent passwd $user | cut -d: -f6` +diff -urN orig/acpi-support-0.102/Makefile work/acpi-support-0.102/Makefile +--- orig/acpi-support-0.102/Makefile 2006-03-21 12:03:00.000000000 -0500 ++++ work/acpi-support-0.102/Makefile 2007-11-09 10:47:47.000000000 -0500 +@@ -2,7 +2,6 @@ + + acpi_fakekey: acpi_fakekey.c + gcc -g -Wall -o acpi_fakekey acpi_fakekey.c +- strip acpi_fakekey + + # Keep this manually generated so that it doesn't build-dep on + # 'linux-headers' and stays predictable. +diff -urN orig/acpi-support-0.102/resume.d/13-855-resolution-set.sh work/acpi-support-0.102/resume.d/13-855-resolution-set.sh +--- orig/acpi-support-0.102/resume.d/13-855-resolution-set.sh 2005-09-26 20:29:27.000000000 -0400 ++++ work/acpi-support-0.102/resume.d/13-855-resolution-set.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -1,7 +1,6 @@ + #!/bin/bash + + if [ -x /usr/sbin/855resolution ]; then +- . /etc/default/855resolution + if [ "$MODE" != "" ] && [ "$XRESO" != "" ] && [ "$YRESO" != "" ]; then + /etc/init.d/855resolution start; + fi +diff -urN orig/acpi-support-0.102/resume.d/40-infra-red.sh work/acpi-support-0.102/resume.d/40-infra-red.sh +--- orig/acpi-support-0.102/resume.d/40-infra-red.sh 2006-04-21 10:12:54.000000000 -0400 ++++ work/acpi-support-0.102/resume.d/40-infra-red.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -3,7 +3,6 @@ + # Restart IR if necessary + if [ -f /var/run/irdadev ] && [ x$RESTART_IRDA = xtrue ]; then + rm /var/run/irdadev; +- /etc/init.d/irda-setup start; +- /etc/init.d/irda-utils start; ++ /etc/init.d/irda start; + fi; + +diff -urN orig/acpi-support-0.102/resume.d/49-855-resolution-set.sh work/acpi-support-0.102/resume.d/49-855-resolution-set.sh +--- orig/acpi-support-0.102/resume.d/49-855-resolution-set.sh 2005-09-26 20:29:27.000000000 -0400 ++++ work/acpi-support-0.102/resume.d/49-855-resolution-set.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -1,7 +1,6 @@ + #!/bin/bash + + if [ -x /usr/sbin/855resolution ]; then +- . /etc/default/855resolution + if [ "$MODE" != "" ] && [ "$XRESO" != "" ] && [ "$YRESO" != "" ]; then + /etc/init.d/855resolution start; + fi +diff -urN orig/acpi-support-0.102/resume.d/62-ifup.sh work/acpi-support-0.102/resume.d/62-ifup.sh +--- orig/acpi-support-0.102/resume.d/62-ifup.sh 2006-04-21 10:13:34.000000000 -0400 ++++ work/acpi-support-0.102/resume.d/62-ifup.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -3,6 +3,6 @@ + # Bring up the interfaces (this should probably be left up to some policy + # manager, but at the moment we just bring back whatever we ifdowned) + for x in $INTERFACES; do +- ifup $x & ++ /etc/init.d/net.$x start & + done + +diff -urN orig/acpi-support-0.102/resume.d/67-sound.sh work/acpi-support-0.102/resume.d/67-sound.sh +--- orig/acpi-support-0.102/resume.d/67-sound.sh 2006-04-21 10:19:38.000000000 -0400 ++++ work/acpi-support-0.102/resume.d/67-sound.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -1,7 +1,7 @@ + #!/bin/sh + + # Get sound back +-if [ -x /etc/init.d/alsa-utils ]; then +- /etc/init.d/alsa-utils start ++if [ -x /etc/init.d/alsasound ]; then ++ /etc/init.d/alsasound start + fi + +diff -urN orig/acpi-support-0.102/sleepbtn.sh work/acpi-support-0.102/sleepbtn.sh +--- orig/acpi-support-0.102/sleepbtn.sh 2006-02-06 09:55:00.000000000 -0500 ++++ work/acpi-support-0.102/sleepbtn.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -1,3 +1,3 @@ + #!/bin/bash +-. /usr/share/acpi-support/key-constants +-acpi_fakekey $KEY_SLEEP ++ ++. /etc/acpi/sleep.sh +diff -urN orig/acpi-support-0.102/sleep.sh work/acpi-support-0.102/sleep.sh +--- orig/acpi-support-0.102/sleep.sh 2006-05-19 15:37:32.000000000 -0400 ++++ work/acpi-support-0.102/sleep.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -16,6 +16,11 @@ + exit; + fi + ++if [[ $USE_HIBERNATE_SCRIPT == true ]] && [[ -x /usr/sbin/hibernate ]] ; then ++ /usr/sbin/hibernate --config-file=/etc/hibernate/ram.conf ++ exit; ++fi ++ + if [ x$LOCK_SCREEN = xtrue ]; then + if pidof xscreensaver > /dev/null; then + for x in /tmp/.X11-unix/*; do +diff -urN orig/acpi-support-0.102/suspend.d/50-irda-stop.sh work/acpi-support-0.102/suspend.d/50-irda-stop.sh +--- orig/acpi-support-0.102/suspend.d/50-irda-stop.sh 2006-04-21 11:05:47.000000000 -0400 ++++ work/acpi-support-0.102/suspend.d/50-irda-stop.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -2,7 +2,7 @@ + + # Stop IRDA if it's running + if [ -f /var/run/irattach.pid ]; then +- /etc/init.d/irda-utils stop ++ /etc/init.d/irda stop + killall -9 irattach + fi + +diff -urN orig/acpi-support-0.102/suspend.d/52-disable-wol.sh work/acpi-support-0.102/suspend.d/52-disable-wol.sh +--- orig/acpi-support-0.102/suspend.d/52-disable-wol.sh 1969-12-31 19:00:00.000000000 -0500 ++++ work/acpi-support-0.102/suspend.d/52-disable-wol.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -0,0 +1,13 @@ ++#!/bin/sh ++ ++# Find the currently running network interfaces ++ ++if [[ $DISABLE_WOL == "true" ]] ; then ++ ETHTOOL=`type -p ethtool` ++ INTERFACES=`/sbin/ifconfig | awk '/^[^ ]+/ {print $1}'` ++ ++ for i in $INTERFACES; do ++ # TODO: find out if it's a wired ethernet card (and/or supports WOL) ++ [[ $i =~ "eth" && -n $ETHTOOL && -x $ETHTOOL ]] && $ETHTOOL -s $i wol d > /dev/null 2>&1 ++ done ++fi +diff -urN orig/acpi-support-0.102/suspend.d/55-down-interfaces.sh work/acpi-support-0.102/suspend.d/55-down-interfaces.sh +--- orig/acpi-support-0.102/suspend.d/55-down-interfaces.sh 2006-05-16 07:57:43.000000000 -0400 ++++ work/acpi-support-0.102/suspend.d/55-down-interfaces.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -10,7 +10,7 @@ + + # And shut them down + for x in $INTERFACES; do +- ifdown $x; ++ /etc/init.d/net.$x stop; + ifconfig $x down; + done + +diff -urN orig/acpi-support-0.102/suspend.d/85-alsa-state.sh work/acpi-support-0.102/suspend.d/85-alsa-state.sh +--- orig/acpi-support-0.102/suspend.d/85-alsa-state.sh 2006-04-21 11:00:08.000000000 -0400 ++++ work/acpi-support-0.102/suspend.d/85-alsa-state.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -1,7 +1,7 @@ + #!/bin/sh + + # Save the ALSA state +-if [ -x /etc/init.d/alsa-utils ]; then +- /etc/init.d/alsa-utils stop ++if [ -x /etc/init.d/alsasound ]; then ++ /etc/init.d/alsasound stop + fi + +diff -urN orig/acpi-support-0.102/thinkpad-ultrabay-eject.sh work/acpi-support-0.102/thinkpad-ultrabay-eject.sh +--- orig/acpi-support-0.102/thinkpad-ultrabay-eject.sh 1969-12-31 19:00:00.000000000 -0500 ++++ work/acpi-support-0.102/thinkpad-ultrabay-eject.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -0,0 +1,66 @@ ++s#!/bin/sh ++# Handle Thinkpad Ultrabay hotswap ++ ++# TODO: /sys/devices/platform/bay* may also work ++# TODO: must check that libata is used for the bay! ++if ! ( egrep -sq 'status:.+occupied' /proc/acpi/ibm/bay && egrep -sq 'commands:.+eject' /proc/acpi/ibm/bay ) ; then ++ exit 1; ++fi ++ ++ULTRABAY_SYSDIR='/sys/class/scsi_device/1:0:0:0/device' ++shopt -s nullglob ++ ++# Umount the filesystem(s) backed by the given major:minor device(s) ++unmount_rdev() { perl - "$@" <<'EOPERL' # let's do it in Perl ++ for $major_minor (@ARGV) { ++ $major_minor =~ m/^(\d+):(\d+)$/ or die; ++ push(@tgt_rdevs, ($1<<8)|$2); ++ } ++ # Sort by reverse length of mount point, to unmount sub-directories first ++ open MOUNTS,"[1]) <=> length($a->[1]) } map { [ split ] } ; ++ close MOUNTS; ++ foreach $m (@mounts) { ++ ($dev,$dir)=@$m; ++ next unless -b $dev; $rdev=(stat($dev))[6]; ++ next unless grep($_==$rdev, @tgt_rdevs); ++ system("umount","-v","$dir")==0 or $bad=1; ++ } ++ exit 1 if $bad; ++EOPERL ++} ++ ++# Get the UltraBay's /dev/foo block device node ++ultrabay_dev_node() { ++ UDEV_PATH="`readlink -e "$ULTRABAY_SYSDIR/block:"*`" || return 1 ++ UDEV_NAME="`udevinfo -q name -p $UDEV_PATH`" || return 1 ++ echo /dev/$UDEV_NAME ++} ++ ++if [ -d $ULTRABAY_SYSDIR ]; then ++ /bin/sync ++ # Unmount filesystems backed by this device ++ unmount_rdev `cat $ULTRABAY_SYSDIR/block\:*/dev \ ++ $ULTRABAY_SYSDIR/block\:*/*/dev` \ ++ || { ++ echo 10 > /proc/acpi/ibm/beep; # error tone ++ exit 1; ++ } ++ sync ++ # Nicely power off the device ++ DEVNODE=`ultrabay_dev_node` && /sbin/hdparm -Y $DEVNODE ++ # Let HAL+KDE notice the unmount and let the disk spin down ++ sleep 0.5 ++ # Unregister this SCSI device: ++ sync ++ echo 1 > $ULTRABAY_SYSDIR/delete ++fi ++sync ++# Turn off power to the UltraBay: ++if [ -d /sys/devices/platform/bay.0 ]; then ++ echo 1 > /sys/devices/platform/bay.0/eject ++else ++ echo eject > /proc/acpi/ibm/bay ++fi ++# Tell the user we're OK ++echo 12 > /proc/acpi/ibm/beep +diff -urN orig/acpi-support-0.102/thinkpad-ultrabay-insert.sh work/acpi-support-0.102/thinkpad-ultrabay-insert.sh +--- orig/acpi-support-0.102/thinkpad-ultrabay-insert.sh 1969-12-31 19:00:00.000000000 -0500 ++++ work/acpi-support-0.102/thinkpad-ultrabay-insert.sh 2007-11-09 10:47:47.000000000 -0500 +@@ -0,0 +1,15 @@ ++#!/bin/sh ++# Handle Thinkpad Ultrabay hotswap ++ ++# TODO: /sys/devices/platform/bay* may also work ++# TODO: must check that libata is used for the bay! ++if ! ( egrep -sq 'status:.+unoccupied' /proc/acpi/ibm/bay ) ; then ++ exit 1; ++fi ++ ++/bin/sync ++ ++echo 0 0 0 > /sys/class/scsi_host/host1/scan ++ ++# The beep is necessary as confirmation of success. Instead of the beep, need to configure a messaging system, e.g. using kdialog or gnome equivalent or xosd ++echo 12 > /proc/acpi/ibm/beep +diff -urN orig/acpi-support-0.102/vbesave work/acpi-support-0.102/vbesave +--- orig/acpi-support-0.102/vbesave 2006-05-03 16:31:51.000000000 -0400 ++++ work/acpi-support-0.102/vbesave 2007-11-09 10:47:47.000000000 -0500 +@@ -3,8 +3,6 @@ + test -x /usr/sbin/vbetool || exit 0 + set -e + +-. /lib/lsb/init-functions +- + test -f /etc/default/rcS && . /etc/default/rcS + test -f /etc/default/acpi-support && . /etc/default/acpi-support + test -f /usr/share/acpi-support/device-funcs && . /usr/share/acpi-support/device-funcs +@@ -20,20 +18,16 @@ + fi + + DeviceConfig +- log_begin_msg "Saving VESA state..." + if [ "$SAVE_VBE_STATE" = "true" ]; then + if [ "$VERBOSE" = no ]; then + if ! vbetool vbestate save > $VBESTATE 2>/dev/null; then +- log_end_msg $? + exit 1 + fi + else + if ! vbetool vbestate save > $VBESTATE ; then +- log_end_msg $? + exit 1 + fi + fi +- log_end_msg 0 + fi + ;; + *) -- cgit v1.2.3-18-g5258