Compare commits

..

5 Commits

Author SHA1 Message Date
Viktor Malik
96375f26a5
Fix LLVM feature detection and rebuild with LLVM 21
Resolves: RHEL-148264

bpftool disassembler optionally uses LLVM to improve its capabilities.
Unfortunately, even if llvm-devel is installed, the feature detection of
LLVM doesn't work:

    Auto-detecting system features:
    ...                         clang-bpf-co-re: [ on  ]
    ...                                    llvm: [ OFF ]
    ...                                  libcap: [ on  ]
    ...                                  libbfd: [ on  ]

The reason is that the feature detection tries to compile a simple C++
program and link it against libLLVM which fails as LDFLAGS contains -pie
while CXXFLAGS does not contain -fpie.

Fix this by setting EXTRA_CXXFLAGS from the bpftool build.

Signed-off-by: Viktor Malik <vmalik@redhat.com>
2026-02-17 13:17:23 +01:00
Viktor Malik
1ff7e04041
Update to kernel rebase 6.17
Resolves: RHEL-91167

Signed-off-by: Viktor Malik <vmalik@redhat.com>
2025-11-28 10:10:57 +01:00
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
Viktor Malik
c0f5a7cd28
Update to kernel rebase 6.14
Resolves: RHEL-91160

Signed-off-by: Viktor Malik <vmalik@redhat.com>
2025-07-04 11:40:41 +02:00
Viktor Malik
ae6249b222
Update to kernel rebase 6.13
Resolves: RHEL-91171

Note that this update is only necessary to facilitate RISC-V builds so
we are likely not doing an official build.

Signed-off-by: Viktor Malik <vmalik@redhat.com>
2025-05-20 08:26:47 +02:00
8 changed files with 77 additions and 33 deletions

View File

@ -1 +0,0 @@
bb002fae706f82e1d632cebbce5d1d87d0d4b7ca SOURCES/linux-5.14.0-598.el9.tar.xz

5
.gitignore vendored
View File

@ -1 +1,4 @@
SOURCES/linux-5.14.0-598.el9.tar.xz
/linux-6.12.0-31.el10.tar.xz
/linux-6.12.0-83.el10.tar.xz
/linux-6.12.0-103.el10.tar.xz
/linux-6.12.0-164.el10.tar.xz

View File

@ -1,24 +1,16 @@
## START: Set by rpmautospec
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autochangelog
## END: Set by rpmautospec
# 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-598
%define kdist .el9
%define kver 6.12.0-164
%define kdist .el10
%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: 803%{?dist}
Version: 7.7.0
Release: 2%{?dist}
Summary: Inspection and simple manipulation of eBPF programs and maps
%global libname libbpf
@ -62,22 +54,4 @@ pushd tools/bpf/bpftool
%{_mandir}/man8/bpftool*.8*
%changelog
## START: Generated by rpmautospec
* Wed Jul 09 2025 Viktor Malik <vmalik@redhat.com> - 7.5.0-6
- Update to BPF 6.14 stable backport
* Thu Mar 06 2025 Viktor Malik <vmalik@redhat.com> - 7.5.0-5
- Make kernel tarball dist independent of %%{dist}
* Wed Mar 05 2025 Viktor Malik <vmalik@redhat.com> - 7.5.0-4
- Update to BPF 6.12 rebase
* Wed Mar 05 2025 Viktor Malik <vmalik@redhat.com> - 7.5.0-3
- Fix LLVM feature detection
* Fri Jan 10 2025 Ziqian SUN (Zamir) <zsun@redhat.com> - 7.5.0-2
- Initial gating test for bpftool
* Tue Jan 07 2025 Viktor Malik <vmalik@redhat.com> - 7.5.0-1
- Initial commit on c9s
## END: Generated by rpmautospec
%autochangelog

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (linux-6.12.0-164.el10.tar.xz) = d2256127ae933bb822f48124f7418d2d3de44515b653fa13ad70b064a4b3662d355d2e07a44d959f33f3c6092a6200f313eb58efe02199e1db99245d506e806f

13
tests/sanity/metadata Normal file
View File

@ -0,0 +1,13 @@
[General]
name=bpftool gating test
owner=Ziqian SUN <zsun@redhat.com>
description=bpftool gating test
license=GPLv2
confidential=no
destructive=no
[restraint]
entry_point=./runtest.sh
max_time=15m
use_pty=false

38
tests/sanity/runtest.sh Executable file
View File

@ -0,0 +1,38 @@
#!/bin/bash
. /usr/share/beakerlib/beakerlib.sh
rlJournalStart
CONFIG_FILE=/boot/config-$(uname -r)
if ! grep "CONFIG_BPF_SYSCALL=y" $CONFIG_FILE; then
rstrnt-report-result $TEST SKIP 0
exit 0
fi
rlPhaseStartSetup
dnf install -y kernel-devel
rpm -q bpftool || dnf install -y -q bpftool
BEAHARCH=${ARCH}
unset ARCH
rlPhaseEnd
for cmds in prog map link perf net; do
if ! bpftool help 2>&1 | grep " OBJECT" | grep -q "${cmds}"; then
continue
fi
rlPhaseStartTest "bpftool ${cmds}"
rlRun -l "bpftool ${cmds}"
rlPhaseEnd
done
for cmds in feature btf; do
if ! bpftool help 2>&1 | grep " OBJECT" | grep -q "${cmds}"; then
continue
fi
rlPhaseStartTest "bpftool ${cmds}"
rlRun -l "bpftool ${cmds} &> bpftool-${cmds}.log"
rstrnt-report-log bpftool-${cmds}.log
rlPhaseEnd
done
rlPhaseStartCleanup
ARCH=${BEAHARCH}
rlPhaseEnd
rlJournalEnd

10
tests/tests.yml Normal file
View File

@ -0,0 +1,10 @@
- hosts: localhost
tags:
- classic
roles:
- role: standard-test-basic
tests:
- sanity
required_packages:
- kernel-devel
- bpftool