1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-24 19:55:26 +03:00
aports/community/linux-tools/APKBUILD
psykose 11d5200c19 community/linux-tools: upgrade to 6.2
- use kernel _kernvers to allow bare non-patch versions
- clean up to modern style (amove, listify) to make diffs more obvious,
  prune empty dirs left behind in packages
- add libtraceevent since perf trace plugins are in external library
  now, and not in perf. since the plugins are no longer vendored, depend
  on them directly. this also upgrades libtraceevent from 1.1 to 1.7+
  because it's external.
- add python/zstd support for perf to increase tool usefulness (python
  plugins!)
- add llvm for better bpftool support

🎉
2023-02-20 14:29:51 +01:00

272 lines
6.6 KiB
Text

# Contributor: Leo <thinkabit.ukim@gmail.com>
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=linux-tools
pkgver=6.2
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=$pkgver;;
esac
pkgrel=0
pkgdesc="Linux kernel tools meta package"
url="https://www.kernel.org/"
arch="all"
license="GPL-2.0-only"
depends="perf cpupower $pkgname-gpio $pkgname-iio"
depends_dev="pciutils-dev readline-dev gettext-dev"
makedepends="
$depends_dev
asciidoc
autoconf
automake
bash
binutils-dev
bison
clang
diffutils
elfutils-dev
findutils
flex
glib-dev
libbpf-dev
libcap-dev
libtool
libtraceevent-dev
libudev-zero-dev
linux-headers
llvm-dev
ncurses-dev
numactl-dev
python3-dev
sysfsutils-dev
xmlto
zlib-dev
zstd-dev
"
subpackages="
perf
perf-bash-completion:perf_bashcomp:noarch
cpupower
cpupower-openrc:cpupower_openrc
cpupower-bash-completion:cpupower_bashcomp:noarch
$pkgname-dev
$pkgname-doc
$pkgname-gpio
$pkgname-iio
$pkgname-spi
$pkgname-tmon
$pkgname-usbip
$pkgname-usbip-openrc:usbip_openrc
bpftool bpftool-bash-completion:bpftool_bashcomp:noarch
"
source="https://kernel.org/pub/linux/kernel/v6.x/linux-$_kernver.tar.xz
cpupower-libs.patch
dt_lnk.patch
cpupower.initd
cpupower.confd
usbip.initd
usbip.confd
"
# append patch for non .0
case $pkgver in
*.*.0)
;;
*.*.*)
source="
$source
https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/patch-$pkgver.xz
"
;;
esac
builddir="$srcdir"/linux-$_kernver
[ "$CARCH" = "riscv64" ] && options="$options textrels"
prepare() {
cd "$srcdir"/linux-$_kernver
if [ "${pkgver%.0}" = "$pkgver" ]; then
msg "Applying patch-$pkgver.xz"
unxz -c < "$srcdir"/patch-$pkgver.xz | patch -p1 -N
fi
# tools/perf/Makefile is just a wrapper around tools/perf/Makefile.perf
# which calls the latter with a -j make(1) option set. However, it discards
# variables set via the command-line in the process (e.g. mandir or prefix).
# As such, it prevents us from correctly installing man pages with our current
# setup. Just symlink the former to the latter to fix that.
ln -fs Makefile.perf "$builddir"/tools/perf/Makefile
default_prepare
}
_make_tools() {
make -C "$builddir"/tools \
VERSION=$pkgver-$pkgrel NLS=false LIBINTL_LIBS=-lintl WERROR=0 \
prefix=/usr libdir=/usr/lib lib=lib mandir=/usr/share/man \
"$@"
}
build() {
_make_tools perf cpupower gpio iio spi tmon bpf/bpftool
( cd tools/usb/usbip ;
./autogen.sh
sed -i 's,-Wall -Werror -Wextra,,' configure.ac ;
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--datarootdir=/usr/share ;
make )
}
package() {
mkdir -p "$pkgdir"
_make_tools DESTDIR="$pkgdir" \
perf_install cpupower_install gpio_install iio_install spi_install
make -C "$builddir/tools/bpf/bpftool" prefix=/usr \
DESTDIR="$pkgdir" install
( cd tools/thermal/tmon;
make install INSTALL_ROOT="$pkgdir"; )
( cd tools/usb/usbip ;
make DESTDIR="$pkgdir" install; )
# we only support bash completions in usr/share/bash-completion
mv "$pkgdir"/etc/bash_completion.d/* "$pkgdir"/usr/share/bash-completion/completions/
rmdir "$pkgdir"/etc/bash_completion.d
install -Dm755 "$srcdir"/cpupower.initd "$pkgdir"/etc/init.d/cpupower
install -Dm644 "$srcdir"/cpupower.confd "$pkgdir"/etc/conf.d/cpupower
install -Dm755 "$srcdir"/usbip.initd "$pkgdir"/etc/init.d/usbip
install -Dm644 "$srcdir"/usbip.confd "$pkgdir"/etc/conf.d/usbip
}
cpupower() {
pkgdesc="Linux kernel tool to set CPU power features"
depends=""
amove \
usr/bin/cpu* \
usr/sbin/cpu* \
usr/lib/libcpu*.so.* \
etc/cpu*
}
cpupower_openrc() {
pkgdesc="Linux kernel tool to set CPU power features (OpenRC init scripts)"
depends=""
install_if="cpupower=$pkgver-r$pkgrel openrc"
amove \
etc/init.d/cpupower \
etc/conf.d/cpupower
}
cpupower_bashcomp() {
pkgdesc="Bash completion for cpupower"
install_if="cpupower=$pkgver-r$pkgrel bash-completion"
amove usr/share/bash-completion/completions/cpupower
}
usbip() {
pkgdesc="utilities for USB device sharing over IP network"
replaces="usbip-utils"
provides="usbip-utils=$pkgver-r$pkgrel"
depends=""
amove \
usr/sbin/usb* \
usr/lib/libusb*
}
usbip_openrc() {
pkgdesc="utilities for USB device sharing over IP network (OpenRC init scripts)"
depends=""
install_if="$pkgname-usbip=$pkgver-r$pkgrel openrc"
amove \
etc/init.d/usbip \
etc/conf.d/usbip
}
perf() {
pkgdesc="Linux kernel performance auditing tool"
depends="libtraceevent-plugins"
amove \
usr/bin/perf \
usr/bin/trace \
usr/lib/perf \
usr/libexec
# /usr/share/perf-core is apprently not installed on all arches
if [ -e "$pkgdir"/usr/share/perf-core ]; then
amove usr/share/perf-core
fi
}
perf_bashcomp() {
replaces="$pkgname-bash-completion" # Backward compatibility
pkgdesc="Bash completion for perf"
install_if="perf=$pkgver-r$pkgrel bash-completion"
amove usr/share/bash-completion/completions/perf
}
gpio() {
pkgdesc="Linux kernel GPIO tools"
depends=""
amove usr/bin/*gpio*
}
iio() {
pkgdesc="Linux kernel IIO tools"
depends=""
amove usr/bin/*iio*
}
spi() {
pkgdesc="Linux kernel SPI tools"
depends=""
amove usr/bin/spi*
}
tmon() {
pkgdesc="Linux kernel thermal monitor tools"
replaces="tmon"
depends=""
amove usr/bin/tmon
}
bpftool() {
pkgdesc="Linux kernel bpf manipulation tool"
amove usr/sbin/bpftool
}
bpftool_bashcomp() {
pkgdesc="Bash completion for bpftool"
install_if="bpftool=$pkgver-r$pkgrel bash-completion"
amove usr/share/bash-completion/completions/bpftool
}
sha512sums="
a01bee0b968b95183934fe3504516be7ef5811944a061f5aed05ecebaa27b5eb64e33232fd0a8dd622b3c8743bfe462ef7e464d381734d111a0ad6a6d9f66ddd linux-6.2.tar.xz
a46e3a84b00a39a356618831d0ddfb7f0d10f0a3799d1307ba2cc832e73c01f8d637a4e801a6dd25025f6f13155c6ad8b836422ff72d365e51063ac0bf907f52 cpupower-libs.patch
0657b461659e79c1926379aab30e7b7ab2d59eaf3e686f1dce468b79eb1320c188c14a0507361660abd2553bccffa9e149fa5b6e4d770d10c99bf5dafd2e05ee dt_lnk.patch
97ecfeaaaa8efca7af585316b843bf7be885e88095bbdfbf52bc9a96b14dc862435482781e205ea022ab208978aaa4aabb317354fab890ed514a5088ae5045c8 cpupower.initd
63cd12a4d8782198c71662e9205e346e064b65bae5e3e175b5bc43bdf7ec6ddf675b60349750afe3c37c8a925f9ae9a93530671821342581bd282a69e0773b8c cpupower.confd
fcbd64d844c9bc187d08cef5995e91a46c0df78deb24e96ac9210c0e2c730eca0301970d9b8ffbf003df274682d05072431a26b59d8c491f396618268a12ec92 usbip.initd
eb8de617e27c4d5fdfee9c442e8f74b0afb4d0fe7b59eca3a19629eb70fea7e09b3c125bc968aa8810d845ce661c829bd0f3fdb2288664f2cccf423bc0ae6ae8 usbip.confd
"