summaryrefslogtreecommitdiff
path: root/community/linux-tools/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/linux-tools/PKGBUILD')
-rw-r--r--community/linux-tools/PKGBUILD168
1 files changed, 168 insertions, 0 deletions
diff --git a/community/linux-tools/PKGBUILD b/community/linux-tools/PKGBUILD
new file mode 100644
index 000000000..d9bab088c
--- /dev/null
+++ b/community/linux-tools/PKGBUILD
@@ -0,0 +1,168 @@
+# $Id: PKGBUILD 93324 2013-07-01 22:56:17Z seblu $
+# Maintainer: Sébastien Luttringer
+
+pkgbase=linux-tools
+pkgname=('linux-tools-meta'
+ 'libtraceevent'
+ 'perf'
+ 'cpupower'
+ 'x86_energy_perf_policy'
+ 'usbip')
+pkgver=3.10
+pkgrel=1
+license=('GPL2')
+arch=('i686' 'x86_64')
+url='http://www.kernel.org'
+options=('!strip')
+# split packages need all package dependencies set manually in makedepends
+# kernel source deps
+makedepends=('asciidoc' 'xmlto')
+# perf deps
+makedepends+=('perl' 'python2' 'libnewt' 'elfutils' 'audit' 'libunwind')
+# cpupower deps
+makedepends+=('pciutils')
+# usbip deps
+makedepends+=('glib2' 'sysfsutils')
+groups=("$pkgbase")
+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.6.xz"
+ 'cpupower.default'
+ 'cpupower.systemd'
+ 'cpupower.service'
+ 'usbipd.service')
+# http://www.kernel.org/pub/linux/kernel/v3.x/sha256sums.asc
+sha256sums=('df27fa92d27a9c410bfe6c4a89f141638500d7eadcca5cce578954efc2ad3544'
+ '4fa509949d6863d001075fa3e8671eff2599c046d20c98bb4a70778595cd1c3f'
+ 'fbf6e0ce6eb0ef15703fe212958de6ca46e62188900b5e9f9272ed3cc9cfd54e'
+ 'a89284d0ecb556ca53a66d1c2087b5fd6d0a901ab2769cd3aebb93f4478905dc'
+ '2e187734d8aec58a3046d79883510d779aa93fb3ab20bd3132c1a607ebe5498f')
+
+prepare() {
+ # apply stable patching set
+ if [[ -e "$srcdir"/patch-* ]]; then
+ msg2 'Applying stable patch set'
+ patch -N -p1 -i "$srcdir"/patch-*
+ fi
+}
+
+build() {
+ msg2 'Build libtraceevent'
+ pushd linux-$pkgver/tools/lib/traceevent
+ make
+ popd
+
+ 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
+
+ msg2 'Build x86_energy_perf_policy'
+ pushd linux-$pkgver/tools/power/x86/x86_energy_perf_policy
+ make
+ popd
+
+ msg2 'Build usbip'
+ pushd linux-$pkgver/drivers/staging/usbip/userspace
+ # fix missing man page
+ sed -i 's/usbip_bind_driver.8//' Makefile.am
+ ./autogen.sh
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+ popd
+}
+
+package_linux-tools-meta() {
+ pkgdesc='Linux kernel tools meta package'
+ groups=()
+ depends=('libtraceevent' 'perf' 'cpupower' 'x86_energy_perf_policy' 'usbip')
+}
+
+package_libtraceevent() {
+ pkgdesc='Linux kernel trace event library'
+ depends=('glibc')
+
+ cd linux-$pkgver/tools/lib/traceevent
+ install -dm 755 "$pkgdir/usr/lib"
+ install -m 644 libtraceevent.a libtraceevent.so "$pkgdir/usr/lib"
+}
+
+package_perf() {
+ pkgdesc='Linux kernel performance auditing tool'
+ depends=('perl' 'python2' 'libnewt' 'elfutils' 'audit' 'libunwind' 'binutils')
+
+ 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
+ # move completion in new directory
+ cd "$pkgdir"
+ install -Dm644 usr/etc/bash_completion.d/perf usr/share/bash-completion/perf
+ rm -r usr/etc
+}
+
+package_cpupower() {
+ pkgdesc='Linux kernel tool to examine and tune power saving related features of your processor'
+ backup=('etc/default/cpupower')
+ depends=('bash' 'pciutils')
+ conflicts=('cpufrequtils')
+ replaces=('cpufrequtils')
+ install=cpupower.install
+
+ pushd linux-$pkgver/tools/power/cpupower
+ make \
+ DESTDIR="$pkgdir" \
+ sbindir='/usr/bin' \
+ mandir='/usr/share/man' \
+ docdir='/usr/share/doc/cpupower' \
+ install install-man
+ popd
+ # install startup scripts
+ install -Dm 644 $pkgname.default "$pkgdir/etc/default/$pkgname"
+ install -Dm 644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ install -Dm 755 $pkgname.systemd "$pkgdir/usr/lib/systemd/scripts/$pkgname"
+}
+
+package_x86_energy_perf_policy() {
+ pkgdesc='Read or write MSR_IA32_ENERGY_PERF_BIAS'
+ depends=('glibc')
+
+ cd linux-$pkgver/tools/power/x86/x86_energy_perf_policy
+ install -Dm 755 x86_energy_perf_policy "$pkgdir/usr/bin/x86_energy_perf_policy"
+ install -Dm 644 x86_energy_perf_policy.8 "$pkgdir/usr/share/man/man8/x86_energy_perf_policy.8"
+}
+
+package_usbip() {
+ pkgdesc='An USB device sharing system over IP network'
+ depends=('glib2' 'sysfsutils')
+ options=('!libtool')
+
+ pushd linux-$pkgver/drivers/staging/usbip/userspace
+ make install DESTDIR="$pkgdir"
+ popd
+ # module loading
+ install -Dm 644 /dev/null "$pkgdir/usr/lib/modules-load.d/$pkgname.conf"
+ printf 'usbip-core\nusbip-host\n' > "$pkgdir/usr/lib/modules-load.d/$pkgname.conf"
+ # systemd
+ install -Dm 644 usbipd.service "$pkgdir/usr/lib/systemd/system/usbipd.service"
+}
+
+# vim:set ts=2 sw=2 et: