Resolves: RHEL-80792 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 (c9s will use .el9 while RHEL will use .el9_Z). Signed-off-by: Viktor Malik <vmalik@redhat.com>
61 lines
1.9 KiB
RPMSpec
61 lines
1.9 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 5.14.0-557
|
|
%define kdist .el9
|
|
%define source linux-%{kver}%{kdist}
|
|
|
|
Name: bpftool
|
|
Version: 7.5.0
|
|
# Currently, bpftool built from kernel uses kernel's release version (500+).
|
|
# In order to do the transition smoothly, raise it to a sufficiently big number.
|
|
# Once bpftool moves to 7.6.0, reset the release to 1.
|
|
Release: 802%{?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_CXXFLAGS="%{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
|