summaryrefslogtreecommitdiff
path: root/community/linux-tools
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-12-01 23:14:46 +0000
committerroot <root@rshg054.dnsready.net>2011-12-01 23:14:46 +0000
commit9e9ab642711f2424f828e21d14b98c45cdef2b29 (patch)
tree5c1495cfda2b453e377084bad1b20e431e119063 /community/linux-tools
parentbc0657f7159d0b01373ecb59afc426b98a172b1e (diff)
Thu Dec 1 23:14:46 UTC 2011
Diffstat (limited to 'community/linux-tools')
-rw-r--r--community/linux-tools/PKGBUILD64
-rw-r--r--community/linux-tools/cpupower.conf14
-rw-r--r--community/linux-tools/cpupower.rc31
3 files changed, 109 insertions, 0 deletions
diff --git a/community/linux-tools/PKGBUILD b/community/linux-tools/PKGBUILD
new file mode 100644
index 000000000..34165dbe9
--- /dev/null
+++ b/community/linux-tools/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 59838 2011-12-01 00:13:46Z seblu $
+# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net>
+
+pkgbase=linux-tools
+pkgname=('perf' 'cpupower')
+pkgver=3.1.4
+pkgrel=1
+license=('GPL2')
+arch=('i686' 'x86_64')
+url='http://www.kernel.org'
+options=('!strip')
+makedepends=('asciidoc' 'xmlto')
+# split packages need all package dependencies set manually in makedepends
+makedepends+=('python2' 'libnewt' 'elfutils' 'pciutils')
+source=("http://ftp.kernel.org/pub/linux/kernel/v3.0/linux-$pkgver.tar.xz"
+ 'cpupower.rc'
+ 'cpupower.conf')
+md5sums=('e48e246675a3e790062d4fecf36cd6e3'
+ 'd8b119eff7dc1a2d655eb71a47fa6215'
+ '218fd36a7957d3170ed8bd1a0be1f62f')
+
+build() {
+ msg2 'Build perf'
+ cd linux-$pkgver/tools/perf
+ make PYTHON=python2 DESTDIR="${pkgdir}/usr" perfexecdir="lib/$pkgname" PERF_VERSION=$pkgver \
+ all man
+
+ msg2 'Build cpupower'
+ # we cannot use --as-needed
+ LDFLAGS=${LDFLAGS:+"$LDFLAGS,--no-as-needed"}
+ cd "$srcdir/linux-$pkgver/tools/power/cpupower"
+ make
+}
+
+package_perf() {
+ pkgdesc='Linux kernel perf tool'
+ depends=('python2' 'libnewt' 'elfutils')
+
+ cd linux-${pkgver}/tools/perf
+ make PYTHON=python2 DESTDIR="${pkgdir}/usr" perfexecdir="lib/$pkgname" PERF_VERSION=$pkgver \
+ install install-man
+}
+
+package_cpupower() {
+ pkgdesc='Linux kernel power tool'
+ backup=('etc/conf.d/cpupower')
+ depends=('pciutils')
+ conflicts=('cpufrequtils')
+ provides=("cpufrequtils=$pkgver")
+
+ cd linux-$pkgver/tools/power/cpupower
+ make \
+ DESTDIR="$pkgdir" \
+ INSTALL='/bin/install -c' \
+ mandir='/usr/share/man' \
+ docdir='/usr/share/doc/cpupower' \
+ install install-man
+
+ # install rc.d script
+ install -D -m 755 "$srcdir/cpupower.rc" "$pkgdir/etc/rc.d/cpupower"
+ install -D -m 644 "$srcdir/cpupower.conf" "$pkgdir/etc/conf.d/cpupower"
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/linux-tools/cpupower.conf b/community/linux-tools/cpupower.conf
new file mode 100644
index 000000000..0f56836b1
--- /dev/null
+++ b/community/linux-tools/cpupower.conf
@@ -0,0 +1,14 @@
+# valid governors:
+# ondemand, performance, powersave,
+# conservative, userspace
+#governor="ondemand"
+
+# limit frequency range (optional)
+# valid suffixes: Hz, kHz (default), MHz, GHz, THz
+#min_freq="2.25GHz"
+#max_freq="3GHz"
+
+# use freq to set up the exact cpu frequency using it with userspace governor
+#freq=
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/linux-tools/cpupower.rc b/community/linux-tools/cpupower.rc
new file mode 100644
index 000000000..812637b61
--- /dev/null
+++ b/community/linux-tools/cpupower.rc
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+[[ -f /etc/conf.d/cpupower ]] && . /etc/conf.d/cpupower
+
+case "$1" in
+ start|restart)
+ stat_busy "Setting cpupower rules"
+
+ declare params=''
+ if [[ "$governor" ]]; then
+ params="-g $governor "
+ params+="${min_freq:+-d $min_freq} "
+ params+="${max_freq:+-u $max_freq} "
+ params+="${freq:+-f $freq} "
+ cpupower frequency-set $params >/dev/null || { stat_fail; exit 1; }
+ stat_done
+ else
+ stat_append ': Invalid configuration'
+ stat_fail
+ fi
+ ;;
+ *)
+ echo "usage: $0 {start|restart}"
+esac
+
+true
+
+# vim:set ts=2 sw=2 ft=sh et: