[arch-commits] Commit in linux-tools/repos (7 files)

Felix Yan felixonmars at archlinux.org
Fri Jan 11 08:57:29 UTC 2019


    Date: Friday, January 11, 2019 @ 08:57:29
  Author: felixonmars
Revision: 422366

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 422365, linux-tools/trunk/PKGBUILD)
  linux-tools/repos/community-staging-x86_64/cpupower.default
    (from rev 422365, linux-tools/trunk/cpupower.default)
  linux-tools/repos/community-staging-x86_64/cpupower.install
    (from rev 422365, linux-tools/trunk/cpupower.install)
  linux-tools/repos/community-staging-x86_64/cpupower.service
    (from rev 422365, linux-tools/trunk/cpupower.service)
  linux-tools/repos/community-staging-x86_64/cpupower.systemd
    (from rev 422365, linux-tools/trunk/cpupower.systemd)
  linux-tools/repos/community-staging-x86_64/usbipd.service
    (from rev 422365, 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 422365, linux-tools/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2019-01-11 08:57:29 UTC (rev 422366)
@@ -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=4.20
+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' 'libsystemd')
+
+  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 422365, linux-tools/trunk/cpupower.default)
===================================================================
--- community-staging-x86_64/cpupower.default	                        (rev 0)
+++ community-staging-x86_64/cpupower.default	2019-01-11 08:57:29 UTC (rev 422366)
@@ -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 422365, linux-tools/trunk/cpupower.install)
===================================================================
--- community-staging-x86_64/cpupower.install	                        (rev 0)
+++ community-staging-x86_64/cpupower.install	2019-01-11 08:57:29 UTC (rev 422366)
@@ -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 422365, linux-tools/trunk/cpupower.service)
===================================================================
--- community-staging-x86_64/cpupower.service	                        (rev 0)
+++ community-staging-x86_64/cpupower.service	2019-01-11 08:57:29 UTC (rev 422366)
@@ -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 422365, linux-tools/trunk/cpupower.systemd)
===================================================================
--- community-staging-x86_64/cpupower.systemd	                        (rev 0)
+++ community-staging-x86_64/cpupower.systemd	2019-01-11 08:57:29 UTC (rev 422366)
@@ -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 422365, linux-tools/trunk/usbipd.service)
===================================================================
--- community-staging-x86_64/usbipd.service	                        (rev 0)
+++ community-staging-x86_64/usbipd.service	2019-01-11 08:57:29 UTC (rev 422366)
@@ -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