diff options
Diffstat (limited to 'extra/acpid')
-rw-r--r-- | extra/acpid/PKGBUILD | 42 | ||||
-rw-r--r-- | extra/acpid/acpid | 37 | ||||
-rw-r--r-- | extra/acpid/acpid.conf.d | 6 | ||||
-rw-r--r-- | extra/acpid/anything | 3 | ||||
-rw-r--r-- | extra/acpid/handler.sh | 65 |
5 files changed, 153 insertions, 0 deletions
diff --git a/extra/acpid/PKGBUILD b/extra/acpid/PKGBUILD new file mode 100644 index 000000000..fd927c84c --- /dev/null +++ b/extra/acpid/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 65410 2010-01-28 20:47:17Z ibiru $ +# Maintainer: Thayer Williams <thayer@archlinux.org> +# Contributor: Manolis Tzanidakis +# Contributor: Judd Vinet <jvinet@zeroflux.org> + +pkgname=acpid +pkgver=1.0.10 +pkgrel=3 +pkgdesc="A daemon for delivering ACPI power management events" +arch=('i686' 'x86_64') +url="http://acpid.sourceforge.net" +license=('GPL') +depends=(glibc) +source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz + acpid + acpid.conf.d + anything + handler.sh) +backup=('etc/acpi/handler.sh' 'etc/acpi/events/anything' 'etc/conf.d/acpid') + +build() { + cd $srcdir/$pkgname-$pkgver + /usr/bin/make || return 1 + /bin/install -d -m0755 $pkgdir/usr/bin || return 1 + /usr/bin/make INSTPREFIX=$pkgdir \ + MAN8DIR=$pkgdir/usr/share/man/man8 install || return 1 + + # install our supplementary scripts + /bin/install -D -m0755 $srcdir/acpid $pkgdir/etc/rc.d/acpid || return 1 + /bin/install -D -m0644 $srcdir/acpid.conf.d $pkgdir/etc/conf.d/acpid || return 1 + /bin/install -D -m0644 $srcdir/anything $pkgdir/etc/acpi/events/anything || return 1 + /bin/install -D -m0755 $srcdir/handler.sh $pkgdir/etc/acpi/handler.sh || return 1 + + # set world readable bit on the acpid binary + /bin/chmod 755 $pkgdir/usr/sbin/acpid || return 1 +} + +md5sums=('61156ef32015c56dc0f2e3317f4ae09e' + 'd9ca7f71f520238a0448fab105a23fe9' + '91fdb3709c878eed757d192a420251a1' + '2d37b98d6e74bab815604b8b48c6cfd4' + '0e8dd13793b1baa79a745f4034888367') diff --git a/extra/acpid/acpid b/extra/acpid/acpid new file mode 100644 index 000000000..9a4ab8ac7 --- /dev/null +++ b/extra/acpid/acpid @@ -0,0 +1,37 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +[ -f /etc/conf.d/acpid ] && . /etc/conf.d/acpid + +PID=`pidof -o %PPID /usr/sbin/acpid` +case "$1" in + start) + stat_busy "Starting acpid" + [ -z "$PID" ] && /usr/sbin/acpid $ACPID_ARGS + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon acpid + stat_done + fi + ;; + stop) + stat_busy "Stopping acpid" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon acpid + stat_done + fi + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/extra/acpid/acpid.conf.d b/extra/acpid/acpid.conf.d new file mode 100644 index 000000000..25c9cc1ef --- /dev/null +++ b/extra/acpid/acpid.conf.d @@ -0,0 +1,6 @@ +# +# Arguments to be passed to the acpid daemon +# + +ACPID_ARGS="" + diff --git a/extra/acpid/anything b/extra/acpid/anything new file mode 100644 index 000000000..d1828989b --- /dev/null +++ b/extra/acpid/anything @@ -0,0 +1,3 @@ +# Pass all events to our one handler script +event=.* +action=/etc/acpi/handler.sh %e diff --git a/extra/acpid/handler.sh b/extra/acpid/handler.sh new file mode 100644 index 000000000..ad31d1aa9 --- /dev/null +++ b/extra/acpid/handler.sh @@ -0,0 +1,65 @@ +#!/bin/sh +# Default acpi script that takes an entry for all actions + +# NOTE: This is a 2.6-centric script. If you use 2.4.x, you'll have to +# modify it to not use /sys + +minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq` +maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq` +setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed" + +set $* + +case "$1" in + button/power) + #echo "PowerButton pressed!">/dev/tty5 + case "$2" in + PWRF) logger "PowerButton pressed: $2" ;; + *) logger "ACPI action undefined: $2" ;; + esac + ;; + button/sleep) + case "$2" in + SLPB) echo -n mem >/sys/power/state ;; + *) logger "ACPI action undefined: $2" ;; + esac + ;; + ac_adapter) + case "$2" in + AC) + case "$4" in + 00000000) + echo -n $minspeed >$setspeed + #/etc/laptop-mode/laptop-mode start + ;; + 00000001) + echo -n $maxspeed >$setspeed + #/etc/laptop-mode/laptop-mode stop + ;; + esac + ;; + *) logger "ACPI action undefined: $2" ;; + esac + ;; + battery) + case "$2" in + BAT0) + case "$4" in + 00000000) #echo "offline" >/dev/tty5 + ;; + 00000001) #echo "online" >/dev/tty5 + ;; + esac + ;; + CPU0) + ;; + *) logger "ACPI action undefined: $2" ;; + esac + ;; + button/lid) + #echo "LID switched!">/dev/tty5 + ;; + *) + logger "ACPI group/action undefined: $1 / $2" + ;; +esac |