summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Charles Campbell <warpzero@gentoo.org>2004-03-16 04:52:22 +0000
committerJoshua Charles Campbell <warpzero@gentoo.org>2004-03-16 04:52:22 +0000
commit5d4a397ab6101e7b39b4cb4bebce07dc2ae28eee (patch)
treea50cd494ac2934bc45368d23ef6daaf34137efc1 /app-laptop/pmud
parentAdded ~mips keyword. (diff)
downloadhistorical-5d4a397ab6101e7b39b4cb4bebce07dc2ae28eee.tar.gz
historical-5d4a397ab6101e7b39b4cb4bebce07dc2ae28eee.tar.bz2
historical-5d4a397ab6101e7b39b4cb4bebce07dc2ae28eee.zip
app-laptop moves for ppc
Diffstat (limited to 'app-laptop/pmud')
-rw-r--r--app-laptop/pmud/ChangeLog54
-rw-r--r--app-laptop/pmud/Manifest12
-rw-r--r--app-laptop/pmud/files/0.10.1-deb-fcntl.patch28
-rw-r--r--app-laptop/pmud/files/digest-pmud-0.10.1-r21
-rw-r--r--app-laptop/pmud/files/digest-pmud-0.10.1-r31
-rw-r--r--app-laptop/pmud/files/pmud-file-locations.patch13
-rw-r--r--app-laptop/pmud/files/pmud-makefile-x-gentoo.diff21
-rw-r--r--app-laptop/pmud/files/pmud.start23
-rw-r--r--app-laptop/pmud/files/power.conf31
-rw-r--r--app-laptop/pmud/files/pwrctl297
-rw-r--r--app-laptop/pmud/files/pwrctl-local88
-rw-r--r--app-laptop/pmud/metadata.xml5
-rw-r--r--app-laptop/pmud/pmud-0.10.1-r2.ebuild48
-rw-r--r--app-laptop/pmud/pmud-0.10.1-r3.ebuild51
14 files changed, 673 insertions, 0 deletions
diff --git a/app-laptop/pmud/ChangeLog b/app-laptop/pmud/ChangeLog
new file mode 100644
index 000000000000..6d339ee64c8a
--- /dev/null
+++ b/app-laptop/pmud/ChangeLog
@@ -0,0 +1,54 @@
+# ChangeLog for sys-apps/pmud
+# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
+# $Id: ChangeLog,v 1.1 2004/03/16 04:50:41 warpzero Exp $
+
+*pmud-0.10.1-r3 (04 Mar 2004)
+
+ 04 Mar 2004; Mike Frysinger <vapier@gentoo.org> :
+ Add a debian patch #39132 by Colin Leroy.
+
+*pmud-0.10.1-r2 (14 July 2002)
+
+ 24 Feb 2003; Nicholas Wourms <dragon@gentoo.org> pmud-0.10.1-r1.ebuild pmud-0.10.1-r2.ebuild :
+ This is definitely not for mips.
+
+ 1 Aug 2002; Calum Selkirk <cselkirk@gentoo.org> pmud-0.10.1-r2.ebuild :
+
+ Changed src_install to only install X related apps and manpages if we
+ have USE="X"
+
+ 23 Jul 2002; Calum Selkirk <cselkirk@gentoo.org> files/pmud.start
+ Also redirected stder & stdout to /dev/null on stop().
+
+ 19 Jul 2002; Mark Guertin <gerk@gentoo.org> files/pmud.start
+ Added >/dev/null 2>&1 to surpress extra output of pmud at system startup
+ fixing bug #5218
+
+ 17 Jul 2002; Mark Guertin <gerk@gentoo.org> :
+ Fixed keywords (please be sure you know what programs are before you set
+ keywords, this will _not_ run on x86). Fixed typo in makefile-x.diff
+ (was CLAGS now is CFLAGS)
+
+ 14 Jul 2002; phoen][x <phoenix@gentoo.org> pmud-0.10.1-r2.ebuild :
+ Added LICENSE, KEYWORDS, SLOT.
+
+*pmud-0.10-r2 <kain@kain.org> ChangeLog:
+
+ Mon Apr 29 10:12 2002 CST; kain <kain@kain.org>
+ Fixed the format of the X dependency line in pmud-0.10.1-r1.ebuild
+
+ 14 Jul 2002; phoen][x <phoenix@gentoo.org> pmud-0.10.1-r1.ebuild :
+ Added LICENSE, KEYWORDS, SLOT.
+
+*pmud-0.10-r1 <pvdabeel@gentoo.org> ChangeLog:
+
+ Mon Apr 29 23:15:43 2002 CEST; pvdabeel <pvdabeel@gentoo.org>
+ Bug #2238: added pmud-makefile-x-gentoo.diff, new version
+
+*pmud-0.10.1 <kain@kain.org> ChangeLog:
+
+ Sat, 13 Apr 2002 23:04:14 -0500; kain <kain@kain.org> pmud/*:
+ Import of PMUD to gentoo. This works (kindof) on my Mac.
+ On my TiBook, X is screwed if you are using the radeonfb driver and
+ not a fbdev setup if you use this. :( Could someone try this with a
+ normal XFree 4.2.0/TiBook G4 and tell me what they get?
diff --git a/app-laptop/pmud/Manifest b/app-laptop/pmud/Manifest
new file mode 100644
index 000000000000..3e58215eca57
--- /dev/null
+++ b/app-laptop/pmud/Manifest
@@ -0,0 +1,12 @@
+MD5 00230635eb2ed101ec474ced7d82f7ed pmud-0.10.1-r2.ebuild 1164
+MD5 eea4c8a7b838135a6639cfbb5897d1cd pmud-0.10.1-r1.ebuild 1145
+MD5 c58ca5eef49b59b77a9261f50bf65465 ChangeLog 1981
+MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
+MD5 f056db07040f37f07402f93828875cf8 files/pmud-makefile-x-gentoo.diff 699
+MD5 0b3d50c84748990675bd8da75fefa048 files/power.conf 1611
+MD5 a57669b9dcce4c8408ff2843ae91d7b6 files/digest-pmud-0.10.1-r1 62
+MD5 a57669b9dcce4c8408ff2843ae91d7b6 files/digest-pmud-0.10.1-r2 62
+MD5 1ab85cee19ba581fa19d0f5129c9f3f6 files/pmud-file-locations.patch 373
+MD5 6b2d50c8a8e8a8ce7faf9e40e143b58d files/pwrctl 8346
+MD5 662a7c81417a4dbf37f22a9a33953ec4 files/pwrctl-local 2658
+MD5 76106f4bd3c4aafd34d38b5b17757d20 files/pmud.start 582
diff --git a/app-laptop/pmud/files/0.10.1-deb-fcntl.patch b/app-laptop/pmud/files/0.10.1-deb-fcntl.patch
new file mode 100644
index 000000000000..21e5f0d1ab06
--- /dev/null
+++ b/app-laptop/pmud/files/0.10.1-deb-fcntl.patch
@@ -0,0 +1,28 @@
+--- pmud.orig 2004-01-22 21:49:48.351629584 +0100
++++ pmud.c 2004-01-22 21:53:45.464582936 +0100
+@@ -360,10 +360,10 @@
+
+ chk(pmu_fd < 0, "Couldn't open " PMU_FILE " or " PMU_DEVFS_FILE);
+
+- chk(fcntl(pmu_fd, F_GETFL, &fl) < 0, "fcntl(F_GETFL)");
++ chk( (fl = fcntl(pmu_fd, F_GETFL)) < 0, "fcntl(F_GETFL)");
+
+ fl |= O_NONBLOCK;
+- chk(fcntl(pmu_fd, F_SETFL, &fl) < 0, "fcntl(F_SETFL)");
++ chk(fcntl(pmu_fd, F_SETFL, fl) < 0, "fcntl(F_SETFL)");
+
+ add_fd(pmu_fd, POLLIN, pmu_intr, NULL);
+
+@@ -1194,10 +1194,10 @@
+ struct sockstate *ss;
+
+ fe = accept(fd, NULL, 0);
+- chk(fcntl(fe, F_GETFL, &fl) < 0, "fcntl(F_GETFL)");
++ chk((fl =fcntl(fe, F_GETFL)) < 0, "fcntl(F_GETFL)");
+
+ fl |= O_NONBLOCK;
+- chk(fcntl(fe, F_SETFL, &fl) < 0, "fcntl(F_SETFL)");
++ chk(fcntl(fe, F_SETFL, fl) < 0, "fcntl(F_SETFL)");
+
+ ss = malloc(sizeof(*ss));
+ if (ss == 0)
diff --git a/app-laptop/pmud/files/digest-pmud-0.10.1-r2 b/app-laptop/pmud/files/digest-pmud-0.10.1-r2
new file mode 100644
index 000000000000..777c71bda40a
--- /dev/null
+++ b/app-laptop/pmud/files/digest-pmud-0.10.1-r2
@@ -0,0 +1 @@
+MD5 1bdc546199cd7e745c2cf7f560a52198 pmud-0.10.1.tar.gz 68417
diff --git a/app-laptop/pmud/files/digest-pmud-0.10.1-r3 b/app-laptop/pmud/files/digest-pmud-0.10.1-r3
new file mode 100644
index 000000000000..777c71bda40a
--- /dev/null
+++ b/app-laptop/pmud/files/digest-pmud-0.10.1-r3
@@ -0,0 +1 @@
+MD5 1bdc546199cd7e745c2cf7f560a52198 pmud-0.10.1.tar.gz 68417
diff --git a/app-laptop/pmud/files/pmud-file-locations.patch b/app-laptop/pmud/files/pmud-file-locations.patch
new file mode 100644
index 000000000000..748deae69919
--- /dev/null
+++ b/app-laptop/pmud/files/pmud-file-locations.patch
@@ -0,0 +1,13 @@
+--- pmud-0.10.1/pmud.8~ 2001-12-15 16:52:40.000000000 -0600
++++ pmud-0.10.1/pmud.8 2002-04-13 19:26:00.000000000 -0500
+@@ -160,8 +160,8 @@
+ /etc/power/pwrctl-local
+ /etc/power/levels
+ /etc/powerstatus
+-/etc/rc.d/init.d/pmud
+-/etc/sysconfig/power
++/etc/init.d/pmud
++/etc/power.conf
+ .fi
+ .Sh AUTHORS
+ initial pmud package by Paul Mackerras and initial manual and changes to
diff --git a/app-laptop/pmud/files/pmud-makefile-x-gentoo.diff b/app-laptop/pmud/files/pmud-makefile-x-gentoo.diff
new file mode 100644
index 000000000000..5015bf4a37cd
--- /dev/null
+++ b/app-laptop/pmud/files/pmud-makefile-x-gentoo.diff
@@ -0,0 +1,21 @@
+--- pmud-0.10.1/Makefile~ Mon Apr 29 12:31:01 2002
++++ pmud-0.10.1/Makefile Mon Apr 29 12:56:04 2002
+@@ -39,7 +39,8 @@
+ $(CC) $(CFLAGS) -o fblevel fblevel.c
+
+ xmouse: xmouse.c
+- $(CC) $(CLAGS) -o xmouse xmouse.c -L/usr/X11R6/lib -lX11
++ (test -e /usr/X11R6/include/X11/Xlib.hh && \
++ $(CC) $(CFLAGS) -o xmouse xmouse.c -L/usr/X11R6/lib -lX11; true)
+
+ tcp.o: tcp.c tcp.h
+ $(CC) $(CFLAGS) -c tcp.c
+@@ -49,7 +50,7 @@
+ install -c snooze /sbin
+ install -c wakebay /sbin
+ install -c fblevel /sbin
+- install -c xmouse /usr/X11R6/bin
++ (test -e xmouse && install -c xmouse /usr/X11R6/bin; true)
+ install -c Batmon /usr/bin
+ install -c -D pwrctl /etc/power/pwrctl
+ cp pmud.rc /etc/rc.d/init.d/pmud
diff --git a/app-laptop/pmud/files/pmud.start b/app-laptop/pmud/files/pmud.start
new file mode 100644
index 000000000000..dfc3a8c01420
--- /dev/null
+++ b/app-laptop/pmud/files/pmud.start
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-laptop/pmud/files/pmud.start,v 1.1 2004/03/16 04:50:41 warpzero Exp $
+
+depend() {
+ need bootmisc
+ need net.lo
+}
+
+[ -f /etc/power.conf ] && . /etc/power.conf
+
+start() {
+ ebegin "Starting PMUD"
+ start-stop-daemon --start --quiet --exec /sbin/pmud -- $PMUD_FLAGS >/dev/null 2>&1
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping PMUD"
+ start-stop-daemon --stop --quiet --exec /sbin/pmud -- >/dev/null 2>&1
+ eend $?
+}
diff --git a/app-laptop/pmud/files/power.conf b/app-laptop/pmud/files/power.conf
new file mode 100644
index 000000000000..51ca6f7b9742
--- /dev/null
+++ b/app-laptop/pmud/files/power.conf
@@ -0,0 +1,31 @@
+# -----------------------------------------------------------------------------
+# Specify the pmud start flags here, you can use the following flags:
+# -----------------------------------------------------------------------------
+# -a : enable apmd compatibility mode (fifo /etc/power/apm)
+# -d : enable debugging text; this flag implicitly
+# sets the -n flag to prevent backgrounding.
+# -f <facility>: use <facility> for syslogd(8) messages.
+# -h : this text.
+# -k : do not detect lid close
+# -K : do not detect lid close when on AC\n"
+# -l <seconds> : the numbers of <seconds> power left which
+# is considered to be a critical low level.
+# -m <seconds> : the number of <seconds> a critical low (see
+# the -l flag) power level has to endure in
+# order to enable sleeping|shutdown.
+# -n : do not detach. With this option the daemon
+# will not become a background process.
+# -p <port> : listen on <port> for requestes.
+# -s : send SIGPWR to init(8) on low power level;
+# this does not put the machine to sleep as
+# another SIGPWR needs to be send to init(8)
+# when power is restored.
+# -S : same as -s, but also send SIGPWR on every
+# sleep request or closing of the lid
+# -u : communicate through a AF_UNIX socket.
+# -v : print the version string of pmud.
+#
+# see also pmud(8)
+# -----------------------------------------------------------------------------
+
+PMUD_FLAGS=-a
diff --git a/app-laptop/pmud/files/pwrctl b/app-laptop/pmud/files/pwrctl
new file mode 100644
index 000000000000..d3f73ab5de57
--- /dev/null
+++ b/app-laptop/pmud/files/pwrctl
@@ -0,0 +1,297 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# $Id: pwrctl,v 1.1 2004/03/16 04:50:41 warpzero Exp $
+#
+# This script is invoked by pmud to configure the system for a
+# given power level. The desired level is indicated by the first
+# argument and can take the following values:
+#
+# minimum = minimum power
+# medium = medium power
+# maximum = full power
+# sleep = prepare for sleep
+# wakeup = system woke up after a sleep
+# warning = low battery condition detected, issue a warning to users
+#
+# the second argument gives the current power source, and can take the
+# following values:
+#
+# ac
+# battery
+#
+# This script is invoked when the AC power is connected or disconnected,
+# and also immediately after sleep. If the script /etc/power/pwrctl-local
+# is present and executable, it will be called by this script before the
+# main body of this script is executed. If pwrctl-local returns 1, then
+# the main body of this script is NOT executed, in all other cases the
+# main body of this script will be executed.
+#
+# Note that if you leave pwrctl-local writable by others than root (which
+# should be the owner) you have created a serious security hole!
+#
+# You can edit this file, but it's better to edit /etc/power/pwrctl-local
+# as that file will not be overwritten on upgrades.
+# -----------------------------------------------------------------------------
+# Debian add-on: support (sort of) for Core99 machines (Pismo,...). The
+# Pismo can't sleep right now so it will wake again immediately. We spin
+# down the disk on sleep, turn off backlight power and ignore the wakeup.
+#
+# While things are stabilizing, these commands could be used to put the system
+# into absolute minimum power mode. You can use commands of this sort in
+# /etc/init.d/powerfail if needs be (sample powerfail script is in
+# /usr/share/doc/sysvinit/examples/).
+# fblevel 0
+# [ "`cat /proc/ide/hde/model`" != "(none)" ] && hdparm -f -S 1 -Y /dev/hde
+# hdparm -f -S 1 -Y /dev/hda
+# Use this to switch the display back on if the powerfail status is called
+# off:
+# fblevel 12
+#
+# 01/09/13: Recent 2.4 kernel versions support sleep properly, by all
+# accounts. So shut down only if kernel version is insufficient.
+# Sample code to deal with broken airport drivers moved to pwrctl-local
+# (courtesy Tom Rini).
+#
+# $Log: not supported by cvs2svn $
+# Revision 1.1 2002/04/27 10:34:28 pvdabeel
+# PPC sys-apps merge
+#
+# Revision 1.1 2002/04/14 03:41:30 kain
+# Initial import of PMUD for gentoo-ppc
+#
+# Revision 1.1.1.1 2001/12/07 11:31:53 sleemburg
+# Initial CVS import of the unreleased pmud-0.8 to apmud (new project name
+# because of a name clash at sourceforge.net).
+#
+# Revision 1.6 2000/12/12 08:56:57 stephan
+# support for iBook and Pismo (same as other G3's)
+#
+# Revision 1.5 2000/10/09 14:33:40 stephan
+# wakebay added
+#
+# Revision 1.4 2000/05/11 14:54:45 stephan
+# pmud 0.6 changes
+#
+# Revision 1.3 2000/03/25 21:26:32 stephan
+# pmud-0.5 changes
+#
+# Revision 1.2 2000/03/09 13:01:50 stephan
+# formatting and call to pwrctl-local
+#
+# Revision 1.1 2000/01/06 13:48:19 stephan
+# Initial revision
+# -----------------------------------------------------------------------------
+logger=/usr/bin/logger
+localfun=/etc/power/pwrctl-local
+
+function do_warn()
+{
+ local msg="Low battery, system will go down..."
+
+ (
+ /usr/X11R6/bin/xmessage -center -timeout 15 "$msg" || \
+ echo "$msg" | /usr/bin/wall
+ ) &
+}
+
+function pwrctl_G3()
+{
+ case "$1" in
+ minimum)
+ # min power, set disk to spin down after 1 minute
+ [ -f /sbin/hdparm ] && hdparm -p -S 12 /dev/hda
+ ;;
+ medium)
+ # medium power, set disk to spin down after 2.5 minutes
+ [ -f /sbin/hdparm ] && hdparm -p -S 30 /dev/hda
+ ;;
+ maximum)
+ case "$2" in
+ ac)
+ # on mains, do not spin down
+ [ -f /sbin/hdparm ] && hdparm -p -S 0 /dev/hda
+ ;;
+ *)
+ # on battery, set disk to spin down after 5 minutes
+ [ -f /sbin/hdparm ] && hdparm -p -S 60 /dev/hda
+ ;;
+ esac
+ ;;
+ warning)
+ do_warn
+ ;;
+ lid-closed)
+ ;;
+ lid-opened)
+ ;;
+ sleep)
+ ;;
+ wakeup)
+ [ -f /proc/sys/dev/cdrom/info ] && {
+ device=$(cat /proc/sys/dev/cdrom/info | (
+ IFS=":"
+ while read var val
+ do
+ [ "$var" = "drive name" ] && {
+ echo $val
+ break
+ }
+ done
+ ))
+ [ ! -z "$device" ] && {
+ /sbin/wakebay /dev/${device}
+ }
+ }
+ ;;
+ *)
+ $logger -p daemon.error -t pwrctl "$0: invalid arg $1"
+ ;;
+ esac
+}
+
+#------------------------------------------------------------------------------
+# This is largely a no-op on iBook or Pismo, as we don't know how to handle
+# the sleep functions yet. Instead, we shut down on the spot.
+#------------------------------------------------------------------------------
+
+function pwrctl_Core99()
+{
+ case "$1" in
+ minimum)
+ # min power, set disk to spin down after 1 minute
+ [ -f /sbin/hdparm ] && hdparm -p -S 12 /dev/hda
+ ;;
+ medium)
+ # medium power, set disk to spin down after 2.5 minutes
+ [ -f /sbin/hdparm ] && hdparm -p -S 30 /dev/hda
+ ;;
+ maximum)
+ case "$2" in
+ ac)
+ # on mains, do not spin down
+ [ -f /sbin/hdparm ] && hdparm -p -S 0 /dev/hda
+ ;;
+ *)
+ # on battery, set disk to spin down after 5 minutes
+ [ -f /sbin/hdparm ] && hdparm -p -S 60 /dev/hda
+ ;;
+ esac
+ ;;
+ warning)
+ do_warn
+ ;;
+ lid-closed)
+ ;;
+ lid-opened)
+ ;;
+ sleep)
+ # We may end up here if someone closed the lid ...
+ # SIGPWR can be sent to init anyway with -s option, do the only
+ # safe thing for now: shut the hell down on 2.2 kernels, or anything
+ # below a known safe 2.4 version.
+ KVER=`uname -r`
+ case "$KVER" in
+ 2.2.*|2.3.*|2.4.[1-7]|2.4.[1-7]-*)
+ $logger -p daemon.error -t pwrctl "$0: insufficient kernel verison - sleep function not implemented, shutting down!"
+ echo "Kernel does not support sleep, shutting down!" | /usr/bin/wall
+ /sbin/shutdown -h now
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ wakeup)
+ # maybe force wakeup of media bay devices?
+ ;;
+ *)
+ $logger -p daemon.error -t pwrctl "$0: invalid arg $1"
+ ;;
+ esac
+}
+
+# -----------------------------------------------------------------------------
+# On the 3400, for minimum power, we put the CPU into nap mode
+# (rather than doze mode) when it is idle. This reduces power
+# consumption but means that DMA is no longer cache coherent.
+# Therefore we have to disable DMA, including the ethernet.
+# We also turn the ethernet off during sleep.
+# -----------------------------------------------------------------------------
+
+function pwrctl_3400()
+{
+ case "$1" in
+ minimum)
+ ifconfig eth0 down
+ [ -f /sbin/hdparm ] && hdparm -d0 -S 12 /dev/hda
+ [ "`cat /proc/ide/hdc/model`" != "(none)" ] && [ -f /sbin/hdparm ] && hdparm -d0 /dev/hdc
+ echo 1 >/proc/sys/kernel/powersave-nap
+ ;;
+ medium)
+ echo 0 >/proc/sys/kernel/powersave-nap
+ [ -f /sbin/hdparm ] && hdparm -d1 -p -S 30 /dev/hda
+ [ "`cat /proc/ide/hdc/model`" != "(none)" ] && [ -f /sbin/hdparm ] && hdparm -d1 /dev/hdc
+ ifconfig eth0 up
+ ;;
+ maximum)
+ echo 0 >/proc/sys/kernel/powersave-nap
+ case "$2" in
+ ac)
+ # on mains, do not spin down
+ [ -f /sbin/hdparm ] && hdparm -d1 -p -S 0 /dev/hda
+ ;;
+ *)
+ # on battery, set disk to spin down after 5 minutes
+ [ -f /sbin/hdparm ] && hdparm -d1 -p -S 60 /dev/hda
+ ;;
+ esac
+ [ "`cat /proc/ide/hdc/model`" != "(none)" ] && [ -f /sbin/hdparm ] && hdparm -d1 /dev/hdc
+ ifconfig eth0 up
+ ;;
+ warning)
+ do_warn
+ ;;
+ sleep)
+ ifconfig eth0 down
+ ;;
+ wakeup)
+ ifconfig eth0 up
+ ;;
+ *)
+ $logger -p daemon.error -t pwrctl "$0: invalid arg $1"
+ ;;
+ esac
+}
+
+# -----------------------------------------------------------------------------
+# main
+# -----------------------------------------------------------------------------
+
+[ -x $localfun ] && {
+ $logger -p daemon.info -t pwrctl "calling $localfun $*"
+
+ $localfun $*
+
+ case $? in
+ 0)
+ $logger -p daemon.debug -t pwrctl "continuing with main"
+ ;;
+ 1)
+ $logger -p daemon.debug -t pwrctl "skipping main"
+ exit 0
+ ;;
+ *)
+ $logger -p daemon.error -t pwrctl "error in $localfun"
+ ;;
+ esac
+}
+
+case "$PMUVERSION" in
+9) pwrctl_3400 $1 $2 ;;
+10|11) pwrctl_G3 $1 $2 ;;
+12) pwrctl_Core99 $1 $2 ;;
+*)
+ $logger -p daemon.error -t pwrctl "no function for PMU $PMUVERSION"
+;;
+esac >>/var/log/pwrctls 2>&1
+
+exit 0
diff --git a/app-laptop/pmud/files/pwrctl-local b/app-laptop/pmud/files/pwrctl-local
new file mode 100644
index 000000000000..895bfde7a489
--- /dev/null
+++ b/app-laptop/pmud/files/pwrctl-local
@@ -0,0 +1,88 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# $Id: pwrctl-local,v 1.1 2004/03/16 04:50:41 warpzero Exp $
+#
+# This script is invoked by pwrctl to configure the system for a
+# given power level. The desired level is indicated by the first
+# argument, which can have the following values:
+#
+# minimum = minimum power
+# medium = medium power
+# maximum = full power
+# sleep = prepare for sleep
+# wakeup = system woke up after a sleep
+# warning = low battery condition detected, issue a warning to users
+#
+# the second argument gives the current power source, and can take the
+# following values:
+#
+# ac
+# battery
+#
+#
+# This script can be invoked by pwrctl when it is named /etc/power/pwrctl-local
+# and is executable. Pwrctl is called by pmud on a power event. If this
+# script returns the value 1, then pwrctl will skip it's main body
+#
+# Example usage: use ifdown -a on sleep (and ifup -a on wakeup) to
+# automagically renew DHCP leases. Similar use of iwconfig down/up might be
+# required for Wavelan users with older versions of the kernel.
+#
+# -----------------------------------------------------------------------------
+# $Log: not supported by cvs2svn $
+# Revision 1.1 2002/04/27 10:34:28 pvdabeel
+# PPC sys-apps merge
+#
+# Revision 1.1 2002/04/14 03:41:31 kain
+# Initial import of PMUD for gentoo-ppc
+#
+# Revision 1.1.1.1 2001/12/07 11:31:48 sleemburg
+# Initial CVS import of the unreleased pmud-0.8 to apmud (new project name
+# because of a name clash at sourceforge.net).
+#
+# Revision 1.2 2000/03/25 21:26:37 stephan
+# pmud-0.5 changes
+#
+# Revision 1.1 2000/03/09 13:02:18 stephan
+# Initial revision
+#
+# -----------------------------------------------------------------------------
+logger=/usr/bin/logger
+
+# -----------------------------------------------------------------------------
+# main
+# -----------------------------------------------------------------------------
+case "$1" in
+minimum)
+ $logger -p daemon.info -t pwrctl-local "minimum power $2"
+;;
+medium)
+ $logger -p daemon.info -t pwrctl-local "medium power $2"
+;;
+maximum)
+ $logger -p daemon.info -t pwrctl-local "maximum power $2"
+ $logger -p daemon.info -t pwrctl-local "skipping pwrctl-main"
+ exit 1
+;;
+warning)
+ /usr/bin/wall "Low battery, system going down any minute now"
+;;
+lid-closed)
+ $logger -p daemon.info -t pwrctl-local "lid-closed $2"
+;;
+lid-opened)
+ $logger -p daemon.info -t pwrctl-local "lid-opened $2"
+;;
+sleep)
+ $logger -p daemon.info -t pwrctl-local "sleep $2"
+;;
+wakeup)
+ $logger -p daemon.info -t pwrctl-local "sleep $2"
+;;
+*)
+ $logger -p daemon.error -t pwrctl-local "invalid arg $1 $2"
+ exit 2
+;;
+esac
+
+exit 0
diff --git a/app-laptop/pmud/metadata.xml b/app-laptop/pmud/metadata.xml
new file mode 100644
index 000000000000..96a2d586367d
--- /dev/null
+++ b/app-laptop/pmud/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+</pkgmetadata>
diff --git a/app-laptop/pmud/pmud-0.10.1-r2.ebuild b/app-laptop/pmud/pmud-0.10.1-r2.ebuild
new file mode 100644
index 000000000000..39ca877d80e5
--- /dev/null
+++ b/app-laptop/pmud/pmud-0.10.1-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-laptop/pmud/pmud-0.10.1-r2.ebuild,v 1.1 2004/03/16 04:50:41 warpzero Exp $
+
+IUSE="X"
+
+S=${WORKDIR}/${P}
+
+DESCRIPTION="PowerMac power management utilities"
+SRC_URI="http://linuxppc.jvc.nl/${P}.tar.gz"
+HOMEPAGE="http://penguinppc.org/"
+KEYWORDS="ppc -x86 -amd64 -alpha -hppa -mips -sparc"
+SLOT="0"
+LICENSE="GPL-2"
+DEPEND="sys-kernel/linux-headers
+ X? ( virtual/x11 )"
+RDEPEND="sys-apps/util-linux"
+
+src_unpack() {
+ cd ${WORKDIR}
+ unpack ${P}.tar.gz
+ mv pmud-0.10 ${P}
+ cd ${S}
+ patch -p1 < ${FILESDIR}/pmud-file-locations.patch
+ use X || patch -p1 <${FILESDIR}/pmud-makefile-x-gentoo.diff
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}" || die
+}
+
+src_install() {
+ doman pmud.8 snooze.8 fblevel.8
+ exeinto /sbin
+ doexe pmud wakebay snooze fblevel
+ exeinto /etc/power
+ doexe ${FILESDIR}/pwrctl{,-local}
+ exeinto /etc/init.d
+ newexe ${FILESDIR}/pmud.start pmud
+ insinto /etc
+ doins ${FILESDIR}/power.conf
+ use X && ( \
+ doman batmon.8 xmouse.8
+ exeinto /usr/bin
+ doexe Batmon
+ exeinto /usr/X11R6/bin
+ doexe xmouse )
+}
diff --git a/app-laptop/pmud/pmud-0.10.1-r3.ebuild b/app-laptop/pmud/pmud-0.10.1-r3.ebuild
new file mode 100644
index 000000000000..439fcafd6c35
--- /dev/null
+++ b/app-laptop/pmud/pmud-0.10.1-r3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-laptop/pmud/pmud-0.10.1-r3.ebuild,v 1.1 2004/03/16 04:50:41 warpzero Exp $
+
+inherit eutils
+
+DESCRIPTION="PowerMac power management utilities"
+HOMEPAGE="http://penguinppc.org/"
+SRC_URI="http://linuxppc.jvc.nl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~ppc"
+IUSE="X"
+
+DEPEND="sys-kernel/linux-headers
+ X? ( virtual/x11 )"
+RDEPEND="sys-apps/util-linux"
+
+S=${WORKDIR}/${PN}-0.10
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/${PV}-deb-fcntl.patch
+ epatch ${FILESDIR}/pmud-file-locations.patch
+ use X || epatch ${FILESDIR}/pmud-makefile-x-gentoo.diff
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}" || die
+}
+
+src_install() {
+ doman pmud.8 snooze.8 fblevel.8
+ into /
+ dosbin pmud wakebay snooze fblevel || die "dosbin failed"
+ exeinto /etc/power
+ doexe ${FILESDIR}/pwrctl{,-local}
+ exeinto /etc/init.d
+ newexe ${FILESDIR}/pmud.start pmud
+ insinto /etc
+ doins ${FILESDIR}/power.conf
+ if use X ; then
+ doman batmon.8 xmouse.8
+ into /usr
+ dobin Batmon || die "Batmon failed"
+ exeinto /usr/X11R6/bin
+ doexe xmouse || die "xmouse failed"
+ fi
+}