Commit 279d60f2 authored by Chaoting Liu's avatar Chaoting Liu

linux-tools: added as per-required

parent 1335e670
# Seblu was here
--- a/tools/perf/config/Makefile 2014-02-13 23:00:14.000000000 +0100
+++ b/tools/perf/config/Makefile 2014-02-17 20:01:33.370539725 +0100
@@ -561,7 +561,7 @@
bindir = $(prefix)/$(bindir_relative)
mandir = share/man
infodir = share/info
-perfexecdir = libexec/perf-core
+perfexecdir = lib/perf
sharedir = $(prefix)/share
template_dir = share/perf-core/templates
htmldir = share/doc/perf-doc
@@ -573,7 +573,7 @@
ETC_PERFCONFIG = etc/perfconfig
endif
ifeq ($(ARCH)$(IS_64_BIT), x861)
-lib = lib64
+lib = lib
else
lib = lib
endif
# Copyright 2014 Sébastien Luttringer
--- a/tools/usb/usbip/libsrc/usbip_common.h 2014-10-06 02:13:09.295856364 +0200
+++ b/tools/usb/usbip/libsrc/usbip_common.h 2014-10-06 02:13:03.607873728 +0200
@@ -15,7 +15,7 @@
#include <syslog.h>
#include <unistd.h>
#include <linux/usb/ch9.h>
-#include <linux/usbip.h>
+#include "../../../include/uapi/linux/usbip.h"
#ifndef USBIDS_FILE
#define USBIDS_FILE "/usr/share/hwdata/usb.ids"
# Contripution from Arch: https://projects.archlinux.org/svntogit/community.git/tree/trunk?h=packages/linux-tools
pkgbase=linux-tools
pkgname=(
'cgroup_event_listener'
'cpupower'
'libtraceevent'
'perf'
'tmon'
'turbostat'
'usbip'
'x86_energy_perf_policy'
)
pkgver=4.2.6
pkgrel=1
license=('GPL2')
arch=('i686' 'x86_64')
url='http://www.kernel.org'
options=('!strip')
makedepends=('git' "linux=${pkgver}")
# split packages need all package dependencies set manually in makedepends
# kernel source deps
makedepends+=('asciidoc' 'xmlto')
# perf deps
makedepends+=('perl' 'python2' 'libnewt' 'elfutils' 'libunwind' 'numactl' 'audit')
# cpupower deps
makedepends+=('pciutils')
# usbip deps
makedepends+=('glib2' 'sysfsutils' 'udev')
# tmon deps
makedepends+=('ncurses')
groups=("$pkgbase")
source=("http://www.kernel.org/pub/linux/kernel/v4.x/linux-${pkgver}.tar.xz"
'cpupower.default'
'cpupower.systemd'
'cpupower.service'
'usbipd.service'
'02-archlinux-paths.patch'
'04-fix-usip-h-path.patch')
md5sums=('209a610aec55df6ad0d3ceefc03a64f8'
'56883c159381ba89e50ab8ea65efec77'
'7e0710c2f31c1eb1e1417a7972e676b1'
'2450e8ff41b30eb58d43b5fffbfde1f4'
'bb35634f480325a78b943f7e10165e86'
'1bc4f8c7a21a30e1a873d07e69fb698b'
'a73ea3ea6d9c9ecb1cc910871eead3ff')
prepare() {
cd linux-${pkgver}
# apply patch from the source array (should be a pacman feature)
local filename
for filename in "${source[@]}"; do
if [[ "$filename" =~ \.patch$ ]]; then
msg2 "Applying patch $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 \
WERROR=0 \
DESTDIR="$pkgdir/usr" \
perfexecdir='lib/perf' \
PYTHON=python2 \
PYTHON_CONFIG=python2-config \
PERF_VERSION=$pkgver-$pkgrel \
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 'x86_energy_perf_policy'
pushd linux-${pkgver}/tools/power/x86/x86_energy_perf_policy
make
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 'turbostat'
pushd linux-${pkgver}/tools/power/x86/turbostat
make
popd
}
package_linux-tools-meta() {
pkgdesc='Linux kernel tools meta package'
groups=()
depends=(
'cgroup_event_listener'
'cpupower'
'libtraceevent'
'perf'
'tmon'
'turbostat'
'usbip'
'x86_energy_perf_policy'
)
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' 'libnewt' 'elfutils' 'libunwind' 'binutils'
'numactl' 'audit')
optdepends=('gtk2: support GTK2 browser for perf report')
cd linux-${pkgver}/tools/perf
make \
WERROR=0 \
DESTDIR="$pkgdir/usr" \
perfexecdir='lib/perf' \
PYTHON=python2 \
PYTHON_CONFIG=python2-config \
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/completions/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')
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' '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_turbostat() {
pkgdesc='Report processor frequency and idle statistics'
depends=('glibc')
cd linux-${pkgver}/tools/power/x86/turbostat
make install DESTDIR="$pkgdir"
}
# vim:set ts=2 sw=2 et:
# 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.
# Do not set governor field if you use this one.
#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:
#!/bin/sh
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
if [ "$(vercmp $2 3.7-4)" -le 0 ]; then
cat << EOF
===> cpupower startup config file moved to /etc/default/cpupower
EOF
fi
}
# vim:set ts=2 sw=2 ft=sh et:
[Unit]
Description=Apply cpupower configuration
[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/scripts/cpupower
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
#!/bin/bash
. /etc/default/cpupower
declare -i fail=0
# parse frequency options
declare -a params=()
params+=(${governor:+-g $governor})
params+=(${min_freq:+-d $min_freq})
params+=(${max_freq:+-u $max_freq})
params+=(${freq:+-f $freq})
# apply frequency options
if ((${#params[@]} > 0)); then
cpupower frequency-set "${params[@]}" >/dev/null || fail=1
fi
# parse cpu options
declare -a params=()
params+=(${mc_scheduler:+-m $mc_scheduler})
params+=(${smp_scheduler:+-s $smp_scheduler})
params+=(${perf_bias:+-b $perf_bias})
# apply cpu options
if ((${#params[@]} > 0)); then
cpupower set "${params[@]}" >/dev/null || fail=1
fi
exit $fail
# vim:set ts=2 sw=2 ft=sh et:
[Unit]
Description=USB/IP server
After=network.target
[Service]
ExecStart=/usr/bin/usbipd
[Install]
WantedBy=multi-user.target
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment