diff options
Diffstat (limited to 'dev-util/bpftool')
-rw-r--r-- | dev-util/bpftool/Manifest | 16 | ||||
-rw-r--r-- | dev-util/bpftool/bpftool-6.8.2.ebuild | 2 | ||||
-rw-r--r-- | dev-util/bpftool/bpftool-6.9.2.ebuild (renamed from dev-util/bpftool/bpftool-6.7.6-r1.ebuild) | 8 | ||||
-rw-r--r-- | dev-util/bpftool/bpftool-7.5.0-r1.ebuild | 127 | ||||
-rw-r--r-- | dev-util/bpftool/bpftool-7.5.0-r2.ebuild | 139 | ||||
-rw-r--r-- | dev-util/bpftool/metadata.xml | 12 |
6 files changed, 290 insertions, 14 deletions
diff --git a/dev-util/bpftool/Manifest b/dev-util/bpftool/Manifest index a9142dc14d58..dcba96112e21 100644 --- a/dev-util/bpftool/Manifest +++ b/dev-util/bpftool/Manifest @@ -1,7 +1,13 @@ -DIST linux-6.7.tar.xz 141406528 BLAKE2B cecdbd19905e43e485ab73b352ced18b37f2a138c97a6956cadcda5d3d271001117dc1cf896b166ff019fc7f405f9539e2ed0d6112b0890efb04d182adf4fd0e SHA512 de06de556191614bd9daf077ae239360352a402bab407748e67f1e5108c92fd933e451707840ab22fe0f9976db3d1e1b60ca9d41cf894f015ca09b3f652b74ad +DIST linux-6.10.tar.xz 145142812 BLAKE2B bb243ea7493b9d63aa2df2050a3f1ae2b89ee84a20015239cf157e3f4f51c7ac5efedc8a51132b2d7482f9276ac418de6624831c8a3b806130d9c2d2124c539b SHA512 baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2 +DIST linux-6.11.tar.xz 146900704 BLAKE2B e7750c0878d71a56a0ce52d4c4c912199dad5bf5e2e8f872585a6494afbb37cbd852e612a6858936d2dc9b7776a3933818f540db408d57e90d18ea5249bba7ab SHA512 329c1f94008742e3f0c2ce7e591a16316d1b2cb9ea4596d4f45604097e07b7aa2f64afa40630a07f321a858455c77aa32ba57b271932ddcf4dc27863f9081cea DIST linux-6.8.tar.xz 142502100 BLAKE2B c6f17f816cea16e629f63e9379b98888713f57b2c5173306926471f139a9d612a0c74e119341f8075390e55e203d787d9edeb4ad5a064b18870f6f0f7ffaafb2 SHA512 5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068 -DIST patch-6.7.6.xz 583872 BLAKE2B 123dfd4170680917ebf16c3c7f3ab31754637c962dca5e5f5d52dd702a46bb68b01ca3a5b3c2482db34841f139871126576d30703825f8ca2dda2d8bfc4ed7e2 SHA512 ab5bef028a6c61e3c6432d49e95d88aec97140d7f8b295a71ba96b08254199343f93f11da4b34ab2482015adb0d1816b6719a21f8a0f2b1dd1bd96fcd3a72d2e +DIST linux-6.9.tar.xz 144034416 BLAKE2B 4cf86c3cfe6e6534745d42dfaeca59b17ea1168c4e8b615c80e6d8aac735f11283cd85fa992b440b5d4452917e94b9f08397a64af0be5894e3df23c68892377e SHA512 fed3b4cd1fbfb4d94618587c1934273d2ecc8b6e42a3d586ff8a5f24980be930f2ef803aa2923ca3bfa5e4e619f967f3af315368f24fa76f610b10443624a579 +DIST patch-6.10.3.xz 252260 BLAKE2B 65acf62ff3e326d5ebb9f47067b626a25295fde2057531cf43e537601c42b0110419c0d6eee8c7c24e5d6d88ecf30e9b76d516efb925c91817504c52780b4df1 SHA512 28ad0de2086ca4b59637f8a7c69c6f5436b53235bf52c9ee18f428748c773780c54606a5c96d71614cadd49c707a8bb11843a7393da078e15d7f554244bfb9ca +DIST patch-6.11.2.xz 229032 BLAKE2B 43393fdde341b4058ff75b1fb02174ce9cfdb03063de93f86cf3bb61e9faabb0cd4ba52bc2f6fae4898454d18379fb2da9743be6987eb4326fbadf459a695c46 SHA512 a75a5b8b08d3c4f90329d0c18c1b3f08d8eca81c07bfb1966a34a84b2743ebdcabda39d7189b7681ee6e60dbf4d2ac996d3f6bc13a14eb4fea3b4eca9b4ea56a DIST patch-6.8.2.xz 247244 BLAKE2B a85078230548543c38550a5546689d0b44a54208cdad591ab34e10dec9348ce2f74e45bf85f373b14977d40556067e2e2c17ac4b6791fbb8aaba98feccd3cdac SHA512 a8e32b89f7680670c69c62f356846bb65b57614f979114627a9a2f945d7dc97c921d30197dffa993e5b18e499ba8c7196046ffdf0e721528a5378d1ee65a9ba5 -EBUILD bpftool-6.7.6-r1.ebuild 3058 BLAKE2B 2fefd15fd034b172369c9b6c0f7bcc3f5c789b8272e5cc30cbada66dcf33d889faec5f47a3b8ba56f50af67d91e49ee56e31ca81e7e84106c7878944201ff72c SHA512 b8f93e8ec6e2fa3442c193498d08cb04485bf53ed4914e85074a0433d73e6f9f54b5dfb37d9bcb39b09ac51a756671b7e52f8c4157d5b124ecfbf3ea4e5a6a72 -EBUILD bpftool-6.8.2.ebuild 3107 BLAKE2B f6c0e67a91978fc6e0095d36734ce7ce637bfc5bdaa8d925ac6d64aafb4a045107ce30638383d82b59a0c87ec786e8f6bbfb0d17c3a833b5e113e2eb1b243259 SHA512 692e6f8712e8971bccdddf7b320d4c9eca4b134a7207c6463ac2bb521bd13ad2db4dde3d774c2c72451c3f671271c975d7a64247238315fa4a43f0670aafba47 -MISC metadata.xml 413 BLAKE2B a5ec0a493a8362f9ba27b636aa1cacfe55c7c9e3dfaa0f789174be4bf0742bd70fd84991d22e99382cbbd3b07c8ed9873e4ebe4b8642b3925111cdf92a09b96e SHA512 130622d6ec59149edf404fa09c51e532c47ff549eb843b7dd3dc71a1bc59b0e80bca54e741f78e21521f940f39c71684e85c433e2923ce3470a9cd55cae99087 +DIST patch-6.9.2.xz 16184 BLAKE2B 8a37e96c253b55b57c86f1654f2ea8bf65af96b1b38213e90032cb918bb8eea992d6ddbfa6a6774a229ab2e2288ab57bdb6cbad6e7e393c123f24850e06847c9 SHA512 a27af24f0caaa5de3811b6db5acc2d72b96df9ebb5c44bad99a949d871fb06c6ffd2be10cfc35b246d430c7be2291701f802aed47eaa8818ad12b8818a60f3ec +EBUILD bpftool-6.8.2.ebuild 3101 BLAKE2B b032c5133f13d0a2f789a08fa054bd5d88cc729026974189d20b9d91f6295fdbad39056acc1223e78923b6201d91799c8cb833948135bccf25b84b4c25f00d5d SHA512 1efcf7572c1aa378394f38d2b939752aaf3215f92ffa227c493d0e3e9c8f945bcca82f759487386cd62e9c5996400395a944962f61af20fc62f8a206b57740d5 +EBUILD bpftool-6.9.2.ebuild 3125 BLAKE2B a8395a94a01d8fe758246cc158713ca30f928aa4051380f6fbb4a285f7a16a223db02b199b422242adca3df4032d79daa20b9420f3a4543aeefca128e41ddfad SHA512 3931abd489a3cbb7aaaf4ea8fd004a45c4a27c8a645fb7eb5088fab3186ebc59b61d58e4b0704dd1c264eee50a95288ad1824af0aff482da306c282465d3013b +EBUILD bpftool-7.5.0-r1.ebuild 3405 BLAKE2B 74da665bc8e3ddd5ea372590455345ea6e75348500eefe7117926d313d8d4c75579e31635b8b67761ffe1ad3284788dfd19f524709f2a951b1f9790a41ea3b1e SHA512 a228790899d82206d7378d24aaf02257b6fb540983ea83157eb7a0ef4c09d420c57257849830c8352df4a1f55f482fad9490813d8657e6b512bbe28b46958429 +EBUILD bpftool-7.5.0-r2.ebuild 3692 BLAKE2B 96f5e8a3d432141f2222e84bb7855e99dcfbec79dae69730fc59c43844dce96c0b062a0a5795148309f3da3fbe794c0ce4e58037a2d5d715708d60a4b16ad86f SHA512 e8238e2c69c00a0f398e31b22cb0433f424246725c3f5be779ba52abf0b838540cbf54c8b52ab545ce462d71294e11ec085a36ccc614efaab776a4a0c04d2421 +MISC metadata.xml 650 BLAKE2B 4e195974ef7cee9b087c5c5f58e1782ff6b884603c68042c3d28471d4e7eb92004e9963ecdf534b360579e475424e64dd905fa5e98a74385aaadbe132b598176 SHA512 4a9d57fc518a3dbe67b0c0436ba41a66cd25d970e9b4c1d0cb1c8120f8d02e1e4fcca7e68d878dd74ae16e7804952a68c486621a44d59e5782341d1800f2e142 diff --git a/dev-util/bpftool/bpftool-6.8.2.ebuild b/dev-util/bpftool/bpftool-6.8.2.ebuild index 44879c17c473..bc24e2fde459 100644 --- a/dev-util/bpftool/bpftool-6.8.2.ebuild +++ b/dev-util/bpftool/bpftool-6.8.2.ebuild @@ -25,7 +25,7 @@ S="${S_K}/tools/bpf/bpftool" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" IUSE="caps +llvm" RDEPEND=" diff --git a/dev-util/bpftool/bpftool-6.7.6-r1.ebuild b/dev-util/bpftool/bpftool-6.9.2.ebuild index fd04d9b6bbec..3f0a1e040297 100644 --- a/dev-util/bpftool/bpftool-6.7.6-r1.ebuild +++ b/dev-util/bpftool/bpftool-6.9.2.ebuild @@ -52,8 +52,8 @@ CONFIG_CHECK="~DEBUG_INFO_BTF" # it's building from the same tarball, please keep it in sync with perf src_unpack() { local paths=( - tools/bpf kernel/bpf - tools/{arch,build,include,lib,perf,scripts} {scripts,include,lib} "arch/*/lib" + kernel/bpf tools/{arch,bpf,build,include,lib,perf,scripts} + scripts include lib "arch/*/include" "arch/*/lib" "arch/*/tools" ) # We expect the tar implementation to support the -j and --wildcards option @@ -87,8 +87,8 @@ src_prepare() { popd || die fi - # dev-python/docutils installs rst2man.py, not rst2man - sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die + # Use rst2man or rst2man.py depending on which one exists (#930076) + type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die # remove -Werror (bug 887981) sed -i -e 's/\-Werror//g' ../../lib/bpf/Makefile || die diff --git a/dev-util/bpftool/bpftool-7.5.0-r1.ebuild b/dev-util/bpftool/bpftool-7.5.0-r1.ebuild new file mode 100644 index 000000000000..57daaf8bbca5 --- /dev/null +++ b/dev-util/bpftool/bpftool-7.5.0-r1.ebuild @@ -0,0 +1,127 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs + +DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" +HOMEPAGE="https://kernel.org/" + +# Use LINUX_VERSION to specify the full kernel version triple (x.y.z) +LINUX_VERSION=6.10.3 +LINUX_VER=$(ver_cut 1-2 ${LINUX_VERSION}) +LINUX_V="${LINUX_VERSION:0:1}.x" + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +LINUX_PATCH="patch-${LINUX_VERSION}.xz" +SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/bpf/bpftool" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="caps llvm" + +RDEPEND=" + sys-libs/zlib:= + virtual/libelf:= + caps? ( sys-libs/libcap:= ) + llvm? ( sys-devel/llvm:= ) + !llvm? ( sys-libs/binutils-libs:= ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.8 +" +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + ${PYTHON_DEPS} + app-arch/tar + dev-python/docutils +" + +CONFIG_CHECK="~DEBUG_INFO_BTF" + +# src_unpack and src_prepare are copied from dev-util/perf since +# it's building from the same tarball, please keep it in sync with perf +src_unpack() { + local paths=( + 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*' + 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*' + 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*' + 'tools/scripts/*' + ) + + # We expect the tar implementation to support the -j and --wildcards option + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch + assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed" + eend $? || die "filterdiff failed" + test -s ${P}.patch || die "patch is empty?!" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + default + + if [[ -n ${LINUX_PATCH} ]] ; then + pushd "${S_K}" >/dev/null || die + eapply "${WORKDIR}"/${P}.patch + popd || die + fi + + # Use rst2man or rst2man.py depending on which one exists (#930076) + type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die + + # remove -Werror (bug 887981) + sed -i -e 's/\-Werror//g' ../../lib/bpf/Makefile || die +} + +bpftool_make() { + local arch=$(tc-arch-kernel) + tc-export AR CC LD + + emake V=1 VF=1 \ + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \ + EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" \ + prefix="${EPREFIX}"/usr \ + bash_compdir="$(get_bashcompdir)" \ + feature-libcap="$(usex caps 1 0)" \ + feature-llvm="$(usex llvm 1 0)" \ + "$@" +} + +src_compile() { + bpftool_make + bpftool_make -C Documentation +} + +src_install() { + bpftool_make DESTDIR="${D}" install + bpftool_make mandir="${ED}"/usr/share/man -C Documentation install +} + +pkg_postinst() { + optfeature "clang-bpf-co-re support" sys-devel/clang[llvm_targets_BPF] +} diff --git a/dev-util/bpftool/bpftool-7.5.0-r2.ebuild b/dev-util/bpftool/bpftool-7.5.0-r2.ebuild new file mode 100644 index 000000000000..6e0b552e64f8 --- /dev/null +++ b/dev-util/bpftool/bpftool-7.5.0-r2.ebuild @@ -0,0 +1,139 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..19} ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 estack linux-info llvm-r1 optfeature python-any-r1 toolchain-funcs + +DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" +HOMEPAGE="https://kernel.org/" + +# Use LINUX_VERSION to specify the full kernel version triple (x.y.z) +LINUX_VERSION=6.11.2 +LINUX_VER=$(ver_cut 1-2 ${LINUX_VERSION}) +LINUX_V="${LINUX_VERSION:0:1}.x" + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +if [[ ${LINUX_VERSION} == *.*.* ]] ; then + LINUX_PATCH="patch-${LINUX_VERSION}.xz" + SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" +fi + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/bpf/bpftool" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="caps llvm" + +RDEPEND=" + sys-libs/zlib:= + virtual/libelf:= + caps? ( sys-libs/libcap:= ) + llvm? ( $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}') ) + !llvm? ( sys-libs/binutils-libs:= ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.8 +" +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + ${PYTHON_DEPS} + app-arch/tar + dev-python/docutils +" + +CONFIG_CHECK="~DEBUG_INFO_BTF" + +pkg_setup() { + python-any-r1_pkg_setup + use llvm && llvm-r1_pkg_setup +} + +# src_unpack and src_prepare are copied from dev-util/perf since +# it's building from the same tarball, please keep it in sync with perf +src_unpack() { + local paths=( + 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*' + 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*' + 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*' + 'tools/scripts/*' + ) + + # We expect the tar implementation to support the -j and --wildcards option + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch + assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed" + eend $? || die "filterdiff failed" + test -s ${P}.patch || die "patch is empty?!" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + default + + if [[ -n ${LINUX_PATCH} ]] ; then + pushd "${S_K}" >/dev/null || die + eapply "${WORKDIR}"/${P}.patch + popd || die + fi + + # Use rst2man or rst2man.py depending on which one exists (#930076) + type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die + + # remove -Werror (bug 887981) + sed -i -e 's/\-Werror//g' ../../lib/bpf/Makefile || die + + # fix up python shebangs (bug 940781) + python_fix_shebang "${S_K}"/scripts/bpf_doc.py +} + +bpftool_make() { + local arch=$(tc-arch-kernel) + tc-export AR CC LD + + emake V=1 VF=1 \ + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \ + EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" \ + prefix="${EPREFIX}"/usr \ + bash_compdir="$(get_bashcompdir)" \ + feature-libcap="$(usex caps 1 0)" \ + feature-llvm="$(usex llvm 1 0)" \ + "$@" +} + +src_compile() { + bpftool_make + bpftool_make -C Documentation +} + +src_install() { + bpftool_make DESTDIR="${D}" install + bpftool_make mandir="${ED}"/usr/share/man -C Documentation install +} + +pkg_postinst() { + optfeature "clang-bpf-co-re support" sys-devel/clang[llvm_targets_BPF] +} diff --git a/dev-util/bpftool/metadata.xml b/dev-util/bpftool/metadata.xml index bfc94c6cdaaf..a09ffc7b9425 100644 --- a/dev-util/bpftool/metadata.xml +++ b/dev-util/bpftool/metadata.xml @@ -1,12 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>jsmolic@gentoo.org</email> - <name>Jakov Smolić</name> + <maintainer type="person" proxied="yes"> + <email>holger@applied-asynchrony.com</email> + <name>Holger Hoffstätte</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> </maintainer> <use> <flag name="caps">Use <pkg>sys-libs/libcap</pkg> to enable unprivileged run support</flag> - <flag name="llvm">Use <pkg>sys-devel/llvm</pkg></flag> + <flag name="llvm">Use <pkg>sys-devel/llvm</pkg> instead of libbfd (<pkg>sys-libs/binutils-libs</pkg>) for JIT disassembly</flag> </use> </pkgmetadata> |