summaryrefslogtreecommitdiff
path: root/extra/acpid
diff options
context:
space:
mode:
Diffstat (limited to 'extra/acpid')
-rw-r--r--extra/acpid/PKGBUILD42
-rw-r--r--extra/acpid/acpid37
-rw-r--r--extra/acpid/acpid.conf.d6
-rw-r--r--extra/acpid/anything3
-rw-r--r--extra/acpid/handler.sh65
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