added community/linux-tools

This commit is contained in:
Kevin Mihelich 2012-07-23 19:25:09 -04:00
parent 5e7c96db10
commit ff940d1f31
4 changed files with 166 additions and 0 deletions

View file

@ -0,0 +1,87 @@
# $Id: PKGBUILD 74127 2012-07-22 02:44:47Z seblu $
# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - removed x86_energy_perf_policy build/package, uses x86 asm
pkgbase=linux-tools
pkgname=('perf' 'cpupower')
pkgver=3.5
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.x/linux-$pkgver.tar.xz"
# "http://ftp.kernel.org/pub/linux/kernel/v3.x/patch-$pkgver.4.xz"
'cpupower.rc'
'cpupower.conf'
'cpupower.service')
md5sums=('24153eaaa81dedc9481ada8cd9c3b83d'
'73dbc931e86b3b73d6e2338dcbee81a4'
'857ccdd0598511e3bf4b63522754dc48'
'20870541e88109d2f153be3c58a277f1')
build() {
# apply stable patching set
if (( NOEXTRACT == 0 )) && [[ -e "$srcdir"/patch-* ]]; then
msg2 'Applying stable patch set'
patch -N -p1 -i "$srcdir"/patch-*
fi
msg2 'Build perf'
pushd linux-$pkgver/tools/perf
make \
WERROR=0 \
DESTDIR="$pkgdir/usr" \
perfexecdir='lib/perf' \
PYTHON=python2 \
NO_GTK2=1 \
PERF_VERSION=$pkgver-$pkgrel \
all man
popd
msg2 'Build cpupower'
pushd linux-$pkgver/tools/power/cpupower
# we cannot use --as-needed
LDFLAGS=${LDFLAGS:+"$LDFLAGS,--no-as-needed"}
make VERSION=$pkgver-$pkgrel
popd
}
package_perf() {
pkgdesc='Linux kernel performance auditing tool'
depends=('python2' 'libnewt' 'elfutils')
cd linux-$pkgver/tools/perf
make \
WERROR=0 \
DESTDIR="$pkgdir/usr" \
perfexecdir='lib/perf' \
PYTHON=python2 \
NO_GTK2=1 \
PERF_VERSION=$pkgver-$pkgrel \
install install-man
}
package_cpupower() {
pkgdesc='Linux kernel tool to examine and tune power saving related features of your processor'
backup=('etc/conf.d/cpupower')
depends=('pciutils')
conflicts=('cpufrequtils')
pushd linux-$pkgver/tools/power/cpupower
make \
DESTDIR="$pkgdir" \
mandir='/usr/share/man' \
docdir='/usr/share/doc/cpupower' \
install install-man
popd
# install rc.d script
install -D -m 755 cpupower.rc "$pkgdir/etc/rc.d/cpupower"
install -D -m 644 cpupower.conf "$pkgdir/etc/conf.d/cpupower"
install -D -m 644 cpupower.service "$pkgdir/usr/lib/systemd/system/cpupower.service"
}

View file

@ -0,0 +1,28 @@
# Define CPUs governor
# valid governors: ondemand, performance, powersave, conservative, userspace.
#governor='ondemand'
# Limit frequency range
# Valid suffixes: Hz, kHz (default), MHz, GHz, THz
#min_freq="2.25GHz"
#max_freq="3GHz"
# Specific frequency to be set.
# Requires userspace governor to be available and loaded.
#freq=
# Utilizes cores in one processor package/socket first before processes are
# scheduled to other processor packages/sockets.
# See man (1) CPUPOWER-SET for additional details.
#mc_scheduler=
# Utilizes thread siblings of one processor core first before processes are
# scheduled to other cores. See man (1) CPUPOWER-SET for additional details.
#smp_scheduler=
# Sets a register on supported Intel processore which allows software to convey
# its policy for the relative importance of performance versus energy savings to
# the processor. See man (1) CPUPOWER-SET for additional details.
#perf_bias=
# vim:set ts=2 sw=2 ft=sh et:

View file

@ -0,0 +1,41 @@
#!/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 -i fail=0
# frequency-set options
declare -a params=()
params+=(${governor:+-g $governor})
params+=(${min_freq:+-d $min_freq})
params+=(${max_freq:+-u $max_freq})
params+=(${freq:+-f $freq})
if ((${#params[@]} > 0)); then
cpupower frequency-set "${params[@]}" >/dev/null || fail=1
fi
# set options
declare -a params=()
params+=(${mc_scheduler:+-m $mc_scheduler})
params+=(${smp_scheduler:+-s $smp_scheduler})
params+=(${perf_bias:+-b $perf_bias})
if ((${#params[@]} > 0)); then
cpupower set "${params[@]}" >/dev/null || fail=1
fi
# print failure if any
(($fail > 0)) && stat_fail && exit 1 || stat_done
;;
*)
echo "usage: ${0##*/} {start|restart}"
esac
true
# vim:set ts=2 sw=2 ft=sh et:

View file

@ -0,0 +1,10 @@
[Unit]
Description=Apply cpupower configuration
[Service]
Type=oneshot
ExecStart=/etc/rc.d/cpupower start
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target