diff options
Diffstat (limited to 'community/linux-tools/APKBUILD')
-rw-r--r-- | community/linux-tools/APKBUILD | 255 |
1 files changed, 193 insertions, 62 deletions
diff --git a/community/linux-tools/APKBUILD b/community/linux-tools/APKBUILD index 78cd0819b9e..09a0f07848f 100644 --- a/community/linux-tools/APKBUILD +++ b/community/linux-tools/APKBUILD @@ -3,8 +3,11 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Milan P. Stanić <mps@arvanta.net> pkgname=linux-tools -pkgver=5.10.62 -_kernver=${pkgver%.*} +pkgver=6.6.18 +case $pkgver in + *.*.*) _kernver=${pkgver%.*};; + *.*) _kernver=$pkgver;; +esac pkgrel=1 pkgdesc="Linux kernel tools meta package" url="https://www.kernel.org/" @@ -12,32 +15,94 @@ 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 elfutils-dev bash linux-headers flex bison diffutils - zlib-dev findutils python3 ncurses-dev - automake autoconf libtool libudev-zero-dev sysfsutils-dev glib-dev" -subpackages="perf perf-bash-completion:bashcomp:noarch cpupower cpupower-openrc - $pkgname-gpio $pkgname-iio $pkgname-doc $pkgname-dev - $pkgname-tmon $pkgname-usbip $pkgname-usbip-openrc" -source="https://kernel.org/pub/linux/kernel/v5.x/linux-$_kernver.tar.xz - https://kernel.org/pub/linux/kernel/v5.x/patch-$pkgver.xz - tmon-musl-includes.patch +_llvmver=16 +makedepends=" + $depends_dev + asciidoc + autoconf + automake + bash + binutils-dev + bison + clang$_llvmver + diffutils + elfutils-dev + findutils + flex + glib-dev + libbpf-dev + libcap-dev + libnl3-dev + libtool + libtraceevent-dev + eudev-dev + libunwind-dev + linux-headers + llvm$_llvmver-dev + ncurses-dev + numactl-dev + openssl-dev + python3-dev + slang-dev + sysfsutils-dev + xmlto + zlib-dev + zstd-dev + " +subpackages=" + $pkgname-doc + perf + perf-bash-completion:perf_bashcomp:noarch + cpupower + cpupower-openrc:cpupower_openrc + cpupower-bash-completion:cpupower_bashcomp:noarch + $pkgname-dev + $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 + perf-doc.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 } @@ -49,10 +114,10 @@ _make_tools() { } build() { - _make_tools perf cpupower gpio iio tmon + _make_tools perf cpupower gpio iio spi tmon bpf/bpftool ( cd tools/usb/usbip ; + sed -i 's,-Wall -Werror -Wextra,,' configure.ac ; ./autogen.sh - sed -i 's,-Wall -Werror -Wextra,-fcommon,' configure.ac ; ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -68,97 +133,163 @@ build() { package() { mkdir -p "$pkgdir" _make_tools DESTDIR="$pkgdir" \ - perf_install cpupower_install gpio_install iio_install + perf_install cpupower_install gpio_install iio_install spi_install + + [ "$CARCH" = x86_64 ] && _make_tools DESTDIR="$pkgdir" \ + intel-speed-select_install turbostat_install x86_energy_perf_policy_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; ) - mv "$pkgdir"/etc/bash_completion.d "$pkgdir"/usr/share/bash-completion/completions + # 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="" - mkdir -p "$subpkgdir"/usr/sbin \ - "$subpkgdir"/usr/bin \ - "$subpkgdir"/usr/lib \ - "$subpkgdir"/etc - mv "$pkgdir"/usr/bin/cpu* "$subpkgdir"/usr/bin/ - mv "$pkgdir"/usr/sbin/cpu* "$subpkgdir"/usr/sbin/ - mv "$pkgdir"/usr/lib/libcpu*.so.* "$subpkgdir"/usr/lib/ - mv "$pkgdir"/etc/cpu* "$subpkgdir"/etc/ - install -Dm755 "$srcdir"/$subpkgname.initd \ - "$pkgdir"/etc/init.d/$subpkgname - install -Dm644 "$srcdir"/$subpkgname.confd \ - "$pkgdir"/etc/conf.d/$subpkgname + amove \ + usr/bin/cpu* \ + usr/sbin/cpu* \ + usr/lib/libcpu*.so.* \ + etc/cpu* + + if [ "$CARCH" = x86_64 ]; then + amove usr/bin/intel-speed-select + amove usr/bin/turbostat + amove usr/bin/x86_energy_perf_policy + fi +} + +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" - depends="!usbip-utils" provides="usbip-utils=$pkgver-r$pkgrel" - mkdir -p "$subpkgdir"/usr/sbin \ - "$subpkgdir"/usr/lib \ - "$subpkgdir"/usr/include/usbip \ - "$subpkgdir"/etc - mv "$pkgdir"/usr/sbin/usb* "$subpkgdir"/usr/sbin - mv "$pkgdir"/usr/lib/libusb* "$subpkgdir"/usr/lib - install -Dm755 "$srcdir"/usbip.initd "$pkgdir"/etc/init.d/usbip - install -Dm644 "$srcdir"/usbip.confd "$pkgdir"/etc/conf.d/usbip + 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="" - mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/bin/perf \ - "$pkgdir"/usr/bin/trace \ - "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/lib/traceevent \ - "$subpkgdir"/usr/lib/ - mv "$pkgdir"/usr/libexec "$subpkgdir"/usr/ + depends="libtraceevent-plugins" + + amove \ + usr/bin/perf \ + usr/bin/trace \ + usr/libexec/perf-core + + # /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 + + # just tests + rm -r "$subpkgdir"/usr/libexec/perf-core/tests +} + +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="" - mkdir -p "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/bin/*gpio* "$subpkgdir"/usr/bin + + amove usr/bin/*gpio* } iio() { pkgdesc="Linux kernel IIO tools" depends="" - mkdir -p "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/bin/*iio* "$subpkgdir"/usr/bin + + 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="!tmon" - mkdir -p "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/bin/tmon "$subpkgdir"/usr/bin + depends="" + + amove usr/bin/tmon } -bashcomp() { - replaces="$pkgname-bash-completion" # Backward compatibility - pkgdesc="Bash autocompletion for $pkgname" - install_if="perf=$pkgver-r$pkgrel bash-completion" - mkdir -p "$subpkgdir"/usr/share/ - mv "$pkgdir"/usr/share/bash-completion "$subpkgdir"/usr/share/ +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 +} + +doc() { + default_doc } sha512sums=" -95bc137d0cf9148da6a9d1f1a878698dc27b40f68e22c597544010a6c591ce1b256f083489d3ff45ff77753289b535135590194d88ef9f007d0ddab3d74de70e linux-5.10.tar.xz -30709c4d14586a8835edb9596e0d7d321bae36f50a0b605a7932b4faa6b22ab80d9fc7a05b07eec32977a7c29fd1c932fa36bf5b3e3e658fb529e753b4b78017 patch-5.10.62.xz -15d6d80e9ed2cdea3bb09574f1cf524007b088699204cfc9d326edd9cf461a38300cfafd82dae4a5a78a179944ef10f51ed7d51c3a8aeb8c08e7c6754d9e123b tmon-musl-includes.patch +458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35 linux-6.6.tar.xz a46e3a84b00a39a356618831d0ddfb7f0d10f0a3799d1307ba2cc832e73c01f8d637a4e801a6dd25025f6f13155c6ad8b836422ff72d365e51063ac0bf907f52 cpupower-libs.patch +0657b461659e79c1926379aab30e7b7ab2d59eaf3e686f1dce468b79eb1320c188c14a0507361660abd2553bccffa9e149fa5b6e4d770d10c99bf5dafd2e05ee dt_lnk.patch +2092b96d64e6c379ae52700b3c1bf459581afea69622a296821381e74ecafa4a08cea24eab002ad2152878a4508918de7807ac98ba72faf2d4dea18cc275933f perf-doc.patch 97ecfeaaaa8efca7af585316b843bf7be885e88095bbdfbf52bc9a96b14dc862435482781e205ea022ab208978aaa4aabb317354fab890ed514a5088ae5045c8 cpupower.initd 63cd12a4d8782198c71662e9205e346e064b65bae5e3e175b5bc43bdf7ec6ddf675b60349750afe3c37c8a925f9ae9a93530671821342581bd282a69e0773b8c cpupower.confd fcbd64d844c9bc187d08cef5995e91a46c0df78deb24e96ac9210c0e2c730eca0301970d9b8ffbf003df274682d05072431a26b59d8c491f396618268a12ec92 usbip.initd eb8de617e27c4d5fdfee9c442e8f74b0afb4d0fe7b59eca3a19629eb70fea7e09b3c125bc968aa8810d845ce661c829bd0f3fdb2288664f2cccf423bc0ae6ae8 usbip.confd +2fe42e370b61789aed4b257b95c9c008fbca3f7980d5ce58be4fa7993b4a0748890a64c7d89c9211f48c7e48f6e40bac11621ebf29904617e1105a6f37068d2f patch-6.6.18.xz " |