mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
268 lines
6.5 KiB
Bash
268 lines
6.5 KiB
Bash
# $Id$
|
||
# Maintainer: Sébastien Luttringer
|
||
|
||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||
# - removed x86_energy_perf_policy and turbostat build/package, uses x86 asm
|
||
# - removed numactl dep
|
||
# - use tarball source
|
||
# - add GPIO and IIO utilities packages
|
||
|
||
pkgbase=linux-tools
|
||
pkgname=(
|
||
'cgroup_event_listener'
|
||
'cpupower'
|
||
'hyperv'
|
||
'libtraceevent'
|
||
'linux-tools-meta'
|
||
'perf'
|
||
'tmon'
|
||
'usbip'
|
||
'gpio-utils'
|
||
'iio-utils'
|
||
)
|
||
pkgver=4.13
|
||
pkgrel=1
|
||
license=('GPL2')
|
||
arch=('i686' 'x86_64')
|
||
url='https://www.kernel.org'
|
||
options=('!strip' '!distcc')
|
||
makedepends=('git')
|
||
# split packages need all package dependencies set manually in makedepends
|
||
# kernel source deps
|
||
makedepends+=('asciidoc' 'xmlto')
|
||
# perf deps
|
||
makedepends+=('perl' 'python2' 'slang' 'elfutils' 'libunwind' 'audit' 'gtk2')
|
||
# cpupower deps
|
||
makedepends+=('pciutils')
|
||
# usbip deps
|
||
makedepends+=('glib2' 'sysfsutils' 'udev')
|
||
# tmon deps
|
||
makedepends+=('ncurses')
|
||
groups=("$pkgbase")
|
||
source=("https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-${pkgver}.tar.xz"
|
||
# 'https://cdn.kernel.org/pub/linux/kernel/v4.x/patch-4.12.2.xz'
|
||
'cpupower.default'
|
||
'cpupower.systemd'
|
||
'cpupower.service'
|
||
'usbipd.service')
|
||
md5sums=('ab1a2abc6f37b752dd2595338bec4e78'
|
||
'6c0bdf6ebe33ca5b3ba4ea1a5668051b'
|
||
'56883c159381ba89e50ab8ea65efec77'
|
||
'34f5ecc19770a1abbcd0fd65bfd1f065'
|
||
'86c4e419e4ba80835c330d49ba3f56ad'
|
||
'bb35634f480325a78b943f7e10165e86')
|
||
|
||
prepare() {
|
||
cd linux-$pkgver
|
||
|
||
# Fix "unwind-libunwind.c:109:11: error: ‘EINVAL’ undeclared" on i686
|
||
# Not sure why this wasn't an issue until now...
|
||
sed -i '1i #include <errno.h>' tools/perf/arch/x86/util/unwind-libunwind.c
|
||
|
||
# apply patch from the source array (should be a pacman feature)
|
||
local filename
|
||
for filename in "${source[@]}"; do
|
||
filename="${filename##*/}"
|
||
if [[ "$filename" =~ \.patch$ ]]; then
|
||
msg2 "Applying patch $filename"
|
||
patch -p1 -N -i "$srcdir/$filename"
|
||
elif [[ "$filename" =~ ^patch- ]]; then
|
||
msg2 "Applying linux $filename"
|
||
patch -p1 -N -i "$srcdir/${filename%.*}"
|
||
fi
|
||
done
|
||
}
|
||
|
||
build() {
|
||
msg2 'libtraceevent'
|
||
pushd linux-$pkgver/tools/lib/traceevent
|
||
make
|
||
popd
|
||
|
||
msg2 'perf'
|
||
pushd linux-$pkgver/tools/perf
|
||
make -f Makefile.perf \
|
||
prefix=/usr \
|
||
lib=lib/perf \
|
||
perfexecdir=lib/perf \
|
||
NO_SDT=1 \
|
||
PYTHON=python2 \
|
||
PYTHON_CONFIG=python2-config \
|
||
PERF_VERSION=$pkgver-$pkgrel \
|
||
DESTDIR="$pkgdir" \
|
||
all man
|
||
popd
|
||
|
||
msg2 'cpupower'
|
||
pushd linux-$pkgver/tools/power/cpupower
|
||
# we cannot use --as-needed
|
||
#LDFLAGS=${LDFLAGS:+"$LDFLAGS,--no-as-needed"}
|
||
make VERSION=$pkgver-$pkgrel
|
||
popd
|
||
|
||
msg2 'usbip'
|
||
pushd linux-$pkgver/tools/usb/usbip
|
||
./autogen.sh
|
||
./configure --prefix=/usr --sbindir=/usr/bin
|
||
make
|
||
popd
|
||
|
||
msg2 'tmon'
|
||
pushd linux-$pkgver/tools/thermal/tmon
|
||
make
|
||
popd
|
||
|
||
msg2 'cgroup_event_listener'
|
||
pushd linux-$pkgver/tools/cgroup
|
||
make
|
||
popd
|
||
|
||
msg2 'hv'
|
||
pushd linux-$pkgver/tools/hv
|
||
make
|
||
popd
|
||
|
||
msg2 'gpio'
|
||
pushd linux-$pkgver/tools/gpio
|
||
make -j1
|
||
popd
|
||
|
||
msg2 'iio'
|
||
pushd linux-$pkgver/tools/iio
|
||
make
|
||
popd
|
||
}
|
||
|
||
package_linux-tools-meta() {
|
||
pkgdesc='Linux kernel tools meta package'
|
||
groups=()
|
||
depends=(
|
||
'cgroup_event_listener'
|
||
'cpupower'
|
||
'hyperv'
|
||
'libtraceevent'
|
||
'perf'
|
||
'tmon'
|
||
'usbip'
|
||
)
|
||
conflicts=(
|
||
'acpidump'
|
||
)
|
||
}
|
||
|
||
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.so "$pkgdir/usr/lib"
|
||
}
|
||
|
||
package_perf() {
|
||
pkgdesc='Linux kernel performance auditing tool'
|
||
depends=('perl' 'python2' 'slang' 'elfutils' 'libunwind' 'binutils'
|
||
'audit')
|
||
optdepends=('gtk2: support GTK2 browser for perf report')
|
||
|
||
cd linux-$pkgver/tools/perf
|
||
make -f Makefile.perf \
|
||
prefix=/usr \
|
||
lib=lib/perf \
|
||
perfexecdir=lib/perf \
|
||
NO_SDT=1 \
|
||
PYTHON=python2 \
|
||
PYTHON_CONFIG=python2-config \
|
||
PERF_VERSION=$pkgver-$pkgrel \
|
||
DESTDIR="$pkgdir" \
|
||
install install-man
|
||
cd "$pkgdir"
|
||
# add linker search path
|
||
mkdir "$pkgdir/etc/ld.so.conf.d"
|
||
echo '/usr/lib/perf' > "$pkgdir/etc/ld.so.conf.d/$pkgname.conf"
|
||
# move completion in new directory
|
||
install -Dm644 etc/bash_completion.d/perf usr/share/bash-completion/completions/perf
|
||
rm -r etc/bash_completion.d
|
||
# no exec on usr/share
|
||
find usr/share -type f -exec chmod a-x {} \;
|
||
}
|
||
|
||
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_usbip() {
|
||
pkgdesc='An USB device sharing system over IP network'
|
||
depends=('glib2' 'sysfsutils' 'libsystemd')
|
||
|
||
pushd linux-$pkgver/tools/usb/usbip
|
||
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"
|
||
}
|
||
|
||
package_tmon() {
|
||
pkgdesc='Monitoring and Testing Tool for Linux kernel thermal subsystem'
|
||
depends=('glibc' 'ncurses')
|
||
|
||
cd linux-$pkgver/tools/thermal/tmon
|
||
make install INSTALL_ROOT="$pkgdir"
|
||
}
|
||
|
||
package_cgroup_event_listener() {
|
||
pkgdesc='Simple listener of cgroup events'
|
||
depends=('glibc')
|
||
|
||
cd linux-$pkgver/tools/cgroup
|
||
install -Dm755 cgroup_event_listener "$pkgdir/usr/bin/cgroup_event_listener"
|
||
}
|
||
|
||
package_hyperv() {
|
||
pkgdesc='Hyper-V tools'
|
||
depends=('glibc')
|
||
|
||
cd linux-$pkgver/tools/hv
|
||
for _p in hv_fcopy_daemon hv_kvp_daemon hv_vss_daemon; do
|
||
install -Dm755 "$_p" "$pkgdir/usr/bin/$_p"
|
||
done
|
||
}
|
||
|
||
package_gpio-utils() {
|
||
pkgdesc='GPIO character device utilities'
|
||
depends=('glibc')
|
||
|
||
cd linux-$pkgver/tools/gpio
|
||
make install DESTDIR="$pkgdir"
|
||
}
|
||
|
||
package_iio-utils() {
|
||
pkgdesc='Industrial IO utilities'
|
||
depends=('glibc')
|
||
|
||
cd linux-$pkgver/tools/iio
|
||
make install INSTALL_ROOT="$pkgdir"
|
||
}
|
||
|
||
# vim:set ts=2 sw=2 et:
|