[arch-commits] Commit in linux-tools/repos (7 files)
Felix Yan
felixonmars at archlinux.org
Sun May 26 22:31:49 UTC 2019
Date: Sunday, May 26, 2019 @ 22:31:49
Author: felixonmars
Revision: 470860
archrelease: copy trunk to community-staging-x86_64
Added:
linux-tools/repos/community-staging-x86_64/
linux-tools/repos/community-staging-x86_64/PKGBUILD
(from rev 470859, linux-tools/trunk/PKGBUILD)
linux-tools/repos/community-staging-x86_64/cpupower.default
(from rev 470859, linux-tools/trunk/cpupower.default)
linux-tools/repos/community-staging-x86_64/cpupower.install
(from rev 470859, linux-tools/trunk/cpupower.install)
linux-tools/repos/community-staging-x86_64/cpupower.service
(from rev 470859, linux-tools/trunk/cpupower.service)
linux-tools/repos/community-staging-x86_64/cpupower.systemd
(from rev 470859, linux-tools/trunk/cpupower.systemd)
linux-tools/repos/community-staging-x86_64/usbipd.service
(from rev 470859, linux-tools/trunk/usbipd.service)
------------------+
PKGBUILD | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++++
cpupower.default | 29 +++++
cpupower.install | 13 ++
cpupower.service | 11 ++
cpupower.systemd | 30 +++++
usbipd.service | 9 +
6 files changed, 373 insertions(+)
Copied: linux-tools/repos/community-staging-x86_64/PKGBUILD (from rev 470859, linux-tools/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2019-05-26 22:31:49 UTC (rev 470860)
@@ -0,0 +1,281 @@
+# Maintainer: Sébastien Luttringer
+
+pkgbase=linux-tools
+pkgname=(
+ 'bpf'
+ 'cgroup_event_listener'
+ 'cpupower'
+ 'hyperv'
+ 'libtraceevent'
+ 'linux-tools-meta'
+ 'perf'
+ 'tmon'
+ 'turbostat'
+ 'usbip'
+ 'x86_energy_perf_policy'
+)
+pkgver=5.1
+pkgrel=2
+license=('GPL2')
+arch=('x86_64')
+url='https://www.kernel.org'
+options=('!strip')
+makedepends=('git')
+# split packages need all package dependencies set manually in makedepends
+# kernel source deps
+makedepends+=('asciidoc' 'xmlto')
+# perf deps
+makedepends+=('perl' 'python' 'slang' 'elfutils' 'libunwind' 'numactl' 'audit' 'gtk2')
+# cpupower deps
+makedepends+=('pciutils')
+# usbip deps
+makedepends+=('glib2' 'sysfsutils' 'udev')
+# tmon deps
+makedepends+=('ncurses')
+groups=("$pkgbase")
+source=("git+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git#tag=v${pkgver//_/-}"
+# 'https://cdn.kernel.org/pub/linux/kernel/v4.x/patch-4.12.2.xz'
+ 'cpupower.default'
+ 'cpupower.systemd'
+ 'cpupower.service'
+ 'usbipd.service')
+md5sums=('SKIP'
+ '56883c159381ba89e50ab8ea65efec77'
+ '34f5ecc19770a1abbcd0fd65bfd1f065'
+ '86c4e419e4ba80835c330d49ba3f56ad'
+ 'bb35634f480325a78b943f7e10165e86')
+
+prepare() {
+ cd linux
+
+ # 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/tools/lib/traceevent
+ make
+ popd
+
+ msg2 'perf'
+ pushd linux/tools/perf
+ make -f Makefile.perf \
+ prefix=/usr \
+ lib=lib/perf \
+ perfexecdir=lib/perf \
+ NO_SDT=1 \
+ PYTHON=python \
+ PYTHON_CONFIG=python-config \
+ PERF_VERSION=$pkgver-$pkgrel \
+ DESTDIR="$pkgdir" \
+ all man
+ popd
+
+ msg2 'cpupower'
+ pushd linux/tools/power/cpupower
+ make VERSION=$pkgver-$pkgrel
+ popd
+
+ msg2 'x86_energy_perf_policy'
+ pushd linux/tools/power/x86/x86_energy_perf_policy
+ make
+ popd
+
+ msg2 'usbip'
+ pushd linux/tools/usb/usbip
+ ./autogen.sh
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+ popd
+
+ msg2 'tmon'
+ pushd linux/tools/thermal/tmon
+ make
+ popd
+
+ msg2 'cgroup_event_listener'
+ pushd linux/tools/cgroup
+ make
+ popd
+
+ msg2 'turbostat'
+ pushd linux/tools/power/x86/turbostat
+ make
+ popd
+
+ msg2 'hv'
+ pushd linux/tools/hv
+ CFLAGS+=' -DKVP_SCRIPTS_PATH=/usr/lib/hyperv/kvp_scripts/' make
+ popd
+
+ msg2 'bpf'
+ pushd linux/tools/bpf
+ # doesn't compile when we don't first compile bpftool in its directory
+ cd bpftool
+ make
+ cd ..
+ make
+ popd
+}
+
+package_linux-tools-meta() {
+ pkgdesc='Linux kernel tools meta package'
+ groups=()
+ depends=(
+ 'bpf'
+ 'cgroup_event_listener'
+ 'cpupower'
+ 'hyperv'
+ 'libtraceevent'
+ 'perf'
+ 'tmon'
+ 'turbostat'
+ 'usbip'
+ 'x86_energy_perf_policy'
+ )
+ conflicts=(
+ 'acpidump'
+ )
+}
+
+package_libtraceevent() {
+ pkgdesc='Linux kernel trace event library'
+ depends=('glibc')
+
+ cd linux/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=('glibc' 'perl' 'python' 'slang' 'elfutils' 'libunwind' 'binutils'
+ 'numactl' 'audit' 'coreutils' 'glib2' 'xz' 'zlib' 'libelf' 'bash')
+ optdepends=('gtk2: support GTK2 browser for perf report')
+
+ cd linux/tools/perf
+ make -f Makefile.perf \
+ prefix=/usr \
+ lib=lib/perf \
+ perfexecdir=lib/perf \
+ NO_SDT=1 \
+ PYTHON=python \
+ PYTHON_CONFIG=python-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=('glibc' 'bash' 'pciutils')
+ conflicts=('cpufrequtils')
+ replaces=('cpufrequtils')
+ install=cpupower.install
+
+ pushd linux/tools/power/cpupower
+ make \
+ DESTDIR="$pkgdir" \
+ sbindir='/usr/bin' \
+ libdir='/usr/lib' \
+ 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/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=('glibc' 'glib2' 'sysfsutils' 'systemd-libs')
+
+ pushd linux/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/tools/thermal/tmon
+ make install INSTALL_ROOT="$pkgdir"
+}
+
+package_cgroup_event_listener() {
+ pkgdesc='Simple listener of cgroup events'
+ depends=('glibc')
+
+ cd linux/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/tools/power/x86/turbostat
+ make install DESTDIR="$pkgdir"
+}
+
+package_hyperv() {
+ pkgdesc='Hyper-V tools'
+ depends=('glibc')
+
+ cd linux/tools/hv
+ for _p in hv_fcopy_daemon hv_kvp_daemon hv_vss_daemon; do
+ install -Dm755 "$_p" "$pkgdir/usr/bin/$_p"
+ done
+ install -dm755 "$pkgdir/usr/lib/hyperv/kvp_scripts"
+}
+
+package_bpf() {
+ pkgdesc='BPF tools'
+ depends=('glibc')
+
+ cd linux/tools/bpf
+ make install prefix=/usr DESTDIR="$pkgdir"
+ # fix bpftool hard written path
+ mv "$pkgdir"/usr/sbin/bpftool "$pkgdir"/usr/bin/bpftool
+ rmdir "$pkgdir"/usr/sbin
+}
+
+# vim:set ts=2 sw=2 et:
Copied: linux-tools/repos/community-staging-x86_64/cpupower.default (from rev 470859, linux-tools/trunk/cpupower.default)
===================================================================
--- community-staging-x86_64/cpupower.default (rev 0)
+++ community-staging-x86_64/cpupower.default 2019-05-26 22:31:49 UTC (rev 470860)
@@ -0,0 +1,29 @@
+# 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:
Copied: linux-tools/repos/community-staging-x86_64/cpupower.install (from rev 470859, linux-tools/trunk/cpupower.install)
===================================================================
--- community-staging-x86_64/cpupower.install (rev 0)
+++ community-staging-x86_64/cpupower.install 2019-05-26 22:31:49 UTC (rev 470860)
@@ -0,0 +1,13 @@
+#!/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:
Copied: linux-tools/repos/community-staging-x86_64/cpupower.service (from rev 470859, linux-tools/trunk/cpupower.service)
===================================================================
--- community-staging-x86_64/cpupower.service (rev 0)
+++ community-staging-x86_64/cpupower.service 2019-05-26 22:31:49 UTC (rev 470860)
@@ -0,0 +1,11 @@
+[Unit]
+Description=Apply cpupower configuration
+
+[Service]
+Type=oneshot
+EnvironmentFile=/etc/default/cpupower
+ExecStart=/usr/lib/systemd/scripts/cpupower
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
Copied: linux-tools/repos/community-staging-x86_64/cpupower.systemd (from rev 470859, linux-tools/trunk/cpupower.systemd)
===================================================================
--- community-staging-x86_64/cpupower.systemd (rev 0)
+++ community-staging-x86_64/cpupower.systemd 2019-05-26 22:31:49 UTC (rev 470860)
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+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:
Copied: linux-tools/repos/community-staging-x86_64/usbipd.service (from rev 470859, linux-tools/trunk/usbipd.service)
===================================================================
--- community-staging-x86_64/usbipd.service (rev 0)
+++ community-staging-x86_64/usbipd.service 2019-05-26 22:31:49 UTC (rev 470860)
@@ -0,0 +1,9 @@
+[Unit]
+Description=USB/IP server
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/usbipd
+
+[Install]
+WantedBy=multi-user.target
More information about the arch-commits
mailing list