Initial commit on c9s

Resolves: RHEL-69495

Signed-off-by: Viktor Malik <vmalik@redhat.com>
This commit is contained in:
Viktor Malik 2025-01-07 12:59:31 +01:00
parent 04caef50a8
commit 3a9ede3c5e
No known key found for this signature in database
GPG Key ID: AF7A2E1F6EE74FB3
3 changed files with 61 additions and 0 deletions

1
.gitignore vendored
View File

@ -0,0 +1 @@
/linux-5.14.0-535.el9.tar.xz

59
bpftool.spec Normal file
View File

@ -0,0 +1,59 @@
# 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-535
%define source linux-%{kver}%{?dist}
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: 800%{?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

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (linux-5.14.0-535.el9.tar.xz) = b5ad8556be5275dfe842c2f2ff0517c836e0bb21b06553088bcf7eb0a4e40161557d2429f2a5b847c51832e4eca282a82f99428f6f069b6ae261c640ddf0b7c8