bpftool/bpftool.spec
Viktor Malik 61f7379fbc
Make kernel tarball dist independent of %{dist}
Resolves: RHEL-109000

There are situations when the kernel tarball dist is different from the
package dist, e.g. when building via CentOS Stream during the exception
phase (c10s will use .el10 while RHEL will use .el10_Y). OpenScanHub may
sometimes use .el10_Y, too.

Signed-off-by: Viktor Malik <vmalik@redhat.com>
2025-08-13 12:04:54 +02:00

58 lines
1.6 KiB
RPMSpec

# We build bpftool from RHEL kernel sources, that's why we use
# directly kernel tar for RHEL kernel build.
# We update bpftool's 'sources' file with proper hash that's
# used as kernel tar.
# RHEL kernel version-release
%define kver 6.12.0-103
%define kdist .el10
%define source linux-%{kver}%{kdist}
Name: bpftool
Version: 7.6.0
Release: 3%{?dist}
Summary: Inspection and simple manipulation of eBPF programs and maps
%global libname libbpf
%global sources %{name}-%{libname}-v%{version}-sources
License: GPL-2.0-only OR BSD-2-Clause
Source: %{source}.tar.xz
ExcludeArch: %{ix86}
BuildRequires: gcc
BuildRequires: make
BuildRequires: binutils-devel
BuildRequires: elfutils-libelf-devel
BuildRequires: libcap-devel
BuildRequires: llvm-devel
BuildRequires: clang
BuildRequires: python3-docutils
BuildRequires: kernel-devel
%description
This package contains the bpftool, which allows inspection and simple
manipulation of eBPF programs and maps.
%prep
%autosetup -p1 -n %{source}
%build
# We need to use vmlinux.h from kernel-devel rather than the one from the running system
%define kernel_version %(rpm -q --qf "%%{VERSION}-%%{RELEASE}.%%{ARCH}" kernel-devel)
pushd tools/bpf/bpftool
%make_build EXTRA_CFLAGS="%{build_cflags}" EXTRA_LDFLAGS="%{build_ldflags}" VMLINUX_H="/usr/src/kernels/%{kernel_version}/vmlinux.h"
%install
pushd tools/bpf/bpftool
%make_install prefix=%{_prefix} bash_compdir=%{_sysconfdir}/bash_completion.d/ mandir=%{_mandir} doc-install
%files
%{_sbindir}/bpftool
%{_sysconfdir}/bash_completion.d/bpftool
%{_mandir}/man8/bpftool*.8*
%changelog
%autochangelog