diff --git a/bpftool-libbpf-v7.3.0-sources.tar.gz b/bpftool-libbpf-v7.3.0-sources.tar.gz deleted file mode 100644 index c7aeb4c..0000000 --- a/bpftool-libbpf-v7.3.0-sources.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3e8a12b800a09f7b78f27716c9d54ac814f1caeed38bd4e9b99f3fc0ee8788e9 -size 1465652 diff --git a/bpftool-libbpf-v7.5.0-sources.tar.gz b/bpftool-libbpf-v7.5.0-sources.tar.gz new file mode 100644 index 0000000..bc29ff3 --- /dev/null +++ b/bpftool-libbpf-v7.5.0-sources.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1468d3fb8c70698359a6593d8828f0e0a56b72244cb8632c6e1947e11b3520b9 +size 1510032 diff --git a/bpftool.changes b/bpftool.changes index b12e31b..b4d3fc5 100644 --- a/bpftool.changes +++ b/bpftool.changes @@ -1,3 +1,63 @@ +------------------------------------------------------------------- +Wed Oct 30 15:56:21 UTC 2024 - Fredrik Lönnegren + +- Update to version 7.5.0 + * Add support for attaching and detaching tcx programs with bpftool net, + along with relevant documentation and bash completion. + * When dumping BTF information, support dumping kfunc prototypes. Users + willing to use kfunc no longer have to define the prototypes themselves, + then can use the generated header file. This is also convenient to check + what kfuncs are available in the running kernel. + * Sort the output from the dump, in C format, of BTF objects. Sorting the + output helps applying diff tools on the generated header files, and helps + generate a more natural ordering in the header. + * Print richer information when dumping sockmap links. + * In BPF skeletons, auto-attach struct_ops BPF maps as part of + __attach(), define BPF_SKEL_SUPPORTS_MAP_AUTO_ATTACH accordingly. + * Improvements in libbpf bring the ability to open and work with object files + in either endianness for some operations like object linking or light BPF + skeleton creation. + * Bpftool automatically mounts the BPF virtual file system (bpffs) when + necessary, for example to pin programs. This bpffs was mounted on the + parent directory for the provided path under certain circumstances. Now + bpftool mounts the bpffs on the provided path instead, as expected. + * When loading programs and trying to pin the maps, attempt to mount the + bpffs when the provided path for the maps is not under an existing bpffs + already, as bpftool usually does for other similar commands. + * Use __typeof__() rather than typeof() in BPF skeleton, to improve + compatibility with C++. + * Fix cgroup-related queries to avoid trying to dump (inaccessible) + Netkit-related information. + * Fix backward compatibility issue related to struct_ops maps handling for + BPF skeletons used with older versions of libbpf. + * Many trivial improvements to bpftool's documentation and bash completion, + such as formatting fixes, typo fixes, or minor clarifications. + * Fix typos in error message and usage help message. + +------------------------------------------------------------------- +Wed May 22 09:43:32 UTC 2024 - Shung-Hsi Yu + +- Update LLVM version selection logic to align with bcc and bpftrace + * narrow down the dependency to clang and llvm + +------------------------------------------------------------------- +Thu Apr 11 07:02:33 UTC 2024 - Fredrik Lönnegren + +- Update to version 7.4.0 + * Kernel configuration options related to bpfilter (namely: CONFIG_BPFILTER + * and CONFIG_BPFILTER_UMH) are no longer checked with bpftool feature probe + * More information displayed for BPF links + * Generate shadow variables for struct_ops maps in program skeletons + * Mark orphaned programs as such when listing programs + * Recognize arena map types (a09e203) and global variables + * Support the addr_space_cast instruction in the disassembler for translated + programs + * In the mirror repository, fix the detection of clang-bpf-co-re (for + skeletons support) for some clang versions + * Displaying PIDs for processes holding references to BPF links when listing + links with bpftool link list on older kernels broke in v7.3.0, because the + internal program pid_iter would fail to load + ------------------------------------------------------------------- Tue Nov 28 07:24:46 UTC 2023 - Shung-Hsi Yu diff --git a/bpftool.spec b/bpftool.spec index 9bfb921..1f021fe 100644 --- a/bpftool.spec +++ b/bpftool.spec @@ -1,7 +1,7 @@ # # spec file for package bpftool # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,8 +16,30 @@ # +# Use default LLVM on openSUSE unless it is not yet supported +%if 0%{?suse_version} >= 1600 || 0%{?is_opensuse} + %if 0%{?product_libs_llvm_ver} > 17 + %define llvm_major_version 17 + %else + %define llvm_major_version %{nil} + %endif +%else + # Hard-code latest LLVM for SLES, the default version is too old + %if 0%{?sle_version} == 150600 + %define llvm_major_version 17 + %else + %if 0%{?sle_version} == 150500 + %define llvm_major_version 15 + %else + %if 0%{?sle_version} == 150400 + %define llvm_major_version 11 + %endif + %endif + %endif +%endif + Name: bpftool -Version: 7.3.0 +Version: 7.5.0 Release: 0 Summary: Tool for inspection and manipulation of BPF programs and maps License: GPL-2.0-only @@ -26,19 +48,14 @@ URL: https://www.kernel.org/ Source0: https://github.com/libbpf/bpftool/releases/download/v%{version}/bpftool-libbpf-v%{version}-sources.tar.gz Patch0: binutils-2.40.patch BuildRequires: binutils-devel -%if 0%{?suse_version} && 0%{?suse_version} <= 1500 -%if 0%{?sle_version} < 150400 -BuildRequires: clang12-devel -%else -BuildRequires: clang13-devel -%endif -%else -BuildRequires: clang-devel -%endif +# Needed for compiling included BPF program (i.e. skeletons) +BuildRequires: clang%{llvm_major_version} BuildRequires: docutils BuildRequires: libcap-devel BuildRequires: libelf-devel BuildRequires: libzstd-devel +# llvm-strip is needed for the included BPF program (i.e. skeletons) +BuildRequires: llvm%{llvm_major_version} %description bpftool allows for inspection and simple modification of BPF objects (programs