xdp-tools had broken tests that always failed because of version tags in global.
This commit is contained in:
parent
bdd37568e4
commit
9a15f26a29
3 changed files with 125 additions and 0 deletions
1
net-libs/xdp-tools/Manifest
Normal file
1
net-libs/xdp-tools/Manifest
Normal file
|
|
@ -0,0 +1 @@
|
|||
DIST xdp-tools-1.5.0.tar.gz 353321 BLAKE2B 41ef06c544af743a8542306af93b1d2a671e53118aa9c4230521c755868245d854ef4ed38ac47102869c18104d67808e8ede8baef45dde8811b074501fc34520 SHA512 9713280fc5d58c19f972cced614f0acdb21de0f467439af2364217ae5381963f90c9e4aba9b6de1a8fdb7fa36c1f645c42b9cd1c86a2cd60168a3b974f14c0dd
|
||||
22
net-libs/xdp-tools/metadata.xml
Normal file
22
net-libs/xdp-tools/metadata.xml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<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>
|
||||
<maintainer type="person">
|
||||
<email>zx2c4@gentoo.org</email>
|
||||
<name>Jason A. Donenfeld</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">xdp-project/xdp-tools</remote-id>
|
||||
</upstream>
|
||||
<use>
|
||||
<flag name="tools">Install various helper tools rather than just libxdp.</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
102
net-libs/xdp-tools/xdp-tools-1.5.0-r1.ebuild
Normal file
102
net-libs/xdp-tools/xdp-tools-1.5.0-r1.ebuild
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
# Copyright 2021-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic linux-info toolchain-funcs
|
||||
|
||||
DESCRIPTION="The libxdp library and various tools for use with XDP"
|
||||
HOMEPAGE="https://github.com/xdp-project/xdp-tools"
|
||||
SRC_URI="https://github.com/xdp-project/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1 BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
IUSE="+tools test"
|
||||
|
||||
DEPEND="
|
||||
dev-libs/libbpf:=
|
||||
net-libs/libpcap
|
||||
sys-libs/zlib
|
||||
virtual/libelf
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND="
|
||||
dev-util/bpftool
|
||||
sys-apps/grep[pcre]
|
||||
llvm-core/clang:*[llvm_targets_BPF]
|
||||
sys-devel/m4
|
||||
"
|
||||
|
||||
# Not prebuilt -- we build them -- but they're not ordinary ELF objects either.
|
||||
QA_PREBUILT="usr/lib/bpf/*.o"
|
||||
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
CONFIG_CHECK="~BPF ~BPF_JIT ~BPF_SYSCALL ~HAVE_EBPF_JIT ~XDP_SOCKETS ~XDP_SOCKETS_DIAG"
|
||||
|
||||
src_prepare() {
|
||||
# remove -Werror: #899744
|
||||
sed -i 's/-Werror//g' lib/Makefile lib/defines.mk || die
|
||||
sed -i '/-Werror/d' lib/common.mk lib/libxdp/Makefile \
|
||||
lib/libxdp/tests/Makefile lib/util/Makefile || die
|
||||
if ! use test; then
|
||||
sed -i 's/check man/man/g' lib/libxdp/Makefile || die
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# filter LTO: #861587
|
||||
filter-lto
|
||||
|
||||
# filter LDFLAGS some more: #916591
|
||||
filter-ldflags -Wl,--{icf,lto}*
|
||||
|
||||
# force ld.bfd: #916591
|
||||
tc-ld-force-bfd
|
||||
|
||||
export CC="$(tc-getCC)"
|
||||
export PREFIX="${EPREFIX}/usr"
|
||||
export LIBDIR="${PREFIX}/$(get_libdir)"
|
||||
export BPF_OBJECT_DIR="${PREFIX}/lib/bpf"
|
||||
export PRODUCTION=1
|
||||
export DYNAMIC_LIBXDP=1
|
||||
export FORCE_SYSTEM_LIBBPF=1
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# To remove the scripts/testing files that are installed.
|
||||
rm -r "${ED}/usr/share/xdp-tools" || die
|
||||
# We can't control static archive generation yet.
|
||||
rm "${ED}/usr/$(get_libdir)/libxdp.a" || die
|
||||
|
||||
use tools || { rm "${ED}/usr/sbin"/* || die; }
|
||||
|
||||
# These are ELF objects but BPF ones.
|
||||
dostrip -x /usr/lib/bpf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "Many BPF utilities need access to a mounted bpffs virtual file system."
|
||||
elog "Either mount it manually like this:"
|
||||
elog
|
||||
elog " mount bpffs /sys/fs/bpf -t bpf -o nosuid,nodev,noexec,relatime,mode=700"
|
||||
elog
|
||||
elog "or add the following line to your /etc/fstab to always mount it at boot time:"
|
||||
elog
|
||||
elog " bpffs /sys/fs/bpf bpf nosuid,nodev,noexec,relatime,mode=700 0 0"
|
||||
elog
|
||||
elog "You can verify that bpffs is mounted with:"
|
||||
elog
|
||||
elog " mount | grep /sys/fs/bpf"
|
||||
elog
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue