From: Prarit Bhargava <prarit(a)redhat.com>
redhat: kernel.spec: selftests: abort on build failure
When a selftest does not compile, abort the whole build. We want to know
that we broke selftests by a backport.
This commit is forward ported from RHEL 8. It could not have been forward
ported to ARK: with rebases to the upstream the bpf selftests break all the
time. Now it's the first opportunity when we can take it.
Signed-off-by: Jiri Benc <jbenc(a)redhat.com>
Signed-off-by: Prarit Bhargava <prarit(a)redhat.com>
diff --git a/redhat/Makefile.variables b/redhat/Makefile.variables
index blahblah..blahblah 100644
--- a/redhat/Makefile.variables
+++ b/redhat/Makefile.variables
@@ -124,3 +124,7 @@ RHSELFTESTDATA ?=
# This variable is used by the redhat/self-tests. It should not be
# considered stable and my be changed or removed without warning.
RHDISTDATADIR ?=
+
+# If set to 1, this variable will cause the kernel package build to fail if
+# the selftests fail to build.
+SPECSELFTESTS_MUST_BUILD ?= 0
diff --git a/redhat/genspec.sh b/redhat/genspec.sh
index blahblah..blahblah 100755
--- a/redhat/genspec.sh
+++ b/redhat/genspec.sh
@@ -65,7 +65,8 @@ test -f "$SOURCES/$SPECFILE" &&
s/%%SPECPATCHLIST_CHANGELOG%%/$SPECPATCHLIST_CHANGELOG/
s/%%SPECVERSION%%/$SPECVERSION/
s/%%SPECKABIVERSION%%/$SPECKABIVERSION/
- s/%%SPECTARFILE_RELEASE%%/$SPECTARFILE_RELEASE/" "$SOURCES/$SPECFILE"
+ s/%%SPECTARFILE_RELEASE%%/$SPECTARFILE_RELEASE/
+ s/%%SPECSELFTESTS_MUST_BUILD%%/$SPECSELFTESTS_MUST_BUILD/"
"$SOURCES/$SPECFILE"
test -n "$RHSELFTESTDATA" && test -f "$SOURCES/$SPECFILE"
&& sed -i -e "
/%%SPECCHANGELOG%%/r $SOURCES/$SPECCHANGELOG
/%%SPECCHANGELOG%%/d" "$SOURCES/$SPECFILE"
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100755
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -134,6 +134,10 @@ Summary: The Linux kernel
# This defines the kabi tarball version
%define kabiversion %%SPECKABIVERSION%%
+# If this variable is set to 1, a bpf selftests build failure will cause a
+# fatal kernel package build error
+%define selftests_must_build %%SPECSELFTESTS_MUST_BUILD%%
+
#
# End of genspec.sh variables
#
@@ -2351,7 +2355,8 @@ export BPFTOOL=$(pwd)/tools/bpf/bpftool/bpftool
pushd tools/testing/selftests
# We need to install here because we need to call make with ARCH set which
# doesn't seem possible to do in the install section.
-%{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="bpf vm livepatch net net/forwarding
net/mptcp netfilter tc-testing" SKIP_TARGETS=""
INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}"
install
+
+%{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="bpf vm livepatch net net/forwarding
net/mptcp netfilter tc-testing" SKIP_TARGETS=""
FORCE_TARGETS=%{selftests_must_build} INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests
VMLINUX_H="${RPM_VMLINUX_H}" install
# 'make install' for bpf is broken and upstream refuses to fix it.
# Install the needed files manually.
diff --git a/redhat/self-test/data/centos-2585cf9dfaad.el7
b/redhat/self-test/data/centos-2585cf9dfaad.el7
index blahblah..blahblah 100644
--- a/redhat/self-test/data/centos-2585cf9dfaad.el7
+++ b/redhat/self-test/data/centos-2585cf9dfaad.el7
@@ -68,6 +68,7 @@ SPECKPATCHLEVEL=16
SPECKSUBLEVEL=0
SPECKVERSION=5
SPECRELEASED_KERNEL=0
+SPECSELFTESTS_MUST_BUILD=0
SPECTARFILE_RELEASE=5.16.0-0.rc5.6.test
SPECVERSION=5.16.0
SRPM=../redhat/rpm/SRPMS/kernel-5.16.0-0.rc5.6.test.el7.src.rpm
diff --git a/redhat/self-test/data/centos-2585cf9dfaad.el7.spec
b/redhat/self-test/data/centos-2585cf9dfaad.el7.spec
index blahblah..blahblah 100755
--- a/redhat/self-test/data/centos-2585cf9dfaad.el7.spec
+++ b/redhat/self-test/data/centos-2585cf9dfaad.el7.spec
@@ -11,4 +11,5 @@
%define patchlevel 16
%define specrelease 0.rc5.6%{?buildid}%{?dist}
%define kabiversion 5.16.0-0.rc5.6.test
+%define selftests_must_build 0
Mon Mar 28 2022 Fedora Kernel Team <kernel-team(a)fedoraproject.org>
[5.16.0-0.rc5.6.test]
diff --git a/redhat/self-test/data/centos-2585cf9dfaad.fc25
b/redhat/self-test/data/centos-2585cf9dfaad.fc25
index blahblah..blahblah 100644
--- a/redhat/self-test/data/centos-2585cf9dfaad.fc25
+++ b/redhat/self-test/data/centos-2585cf9dfaad.fc25
@@ -68,6 +68,7 @@ SPECKPATCHLEVEL=16
SPECKSUBLEVEL=0
SPECKVERSION=5
SPECRELEASED_KERNEL=0
+SPECSELFTESTS_MUST_BUILD=0
SPECTARFILE_RELEASE=5.16.0-0.rc5.6.test
SPECVERSION=5.16.0
SRPM=../redhat/rpm/SRPMS/kernel-5.16.0-0.rc5.6.test.fc25.src.rpm
diff --git a/redhat/self-test/data/centos-2585cf9dfaad.fc25.spec
b/redhat/self-test/data/centos-2585cf9dfaad.fc25.spec
index blahblah..blahblah 100755
--- a/redhat/self-test/data/centos-2585cf9dfaad.fc25.spec
+++ b/redhat/self-test/data/centos-2585cf9dfaad.fc25.spec
@@ -11,4 +11,5 @@
%define patchlevel 16
%define specrelease 0.rc5.6%{?buildid}%{?dist}
%define kabiversion 5.16.0-0.rc5.6.test
+%define selftests_must_build 0
Mon Mar 28 2022 Fedora Kernel Team <kernel-team(a)fedoraproject.org>
[5.16.0-0.rc5.6.test]
diff --git a/redhat/self-test/data/centos-78e36f3b0dae.el7
b/redhat/self-test/data/centos-78e36f3b0dae.el7
index blahblah..blahblah 100644
--- a/redhat/self-test/data/centos-78e36f3b0dae.el7
+++ b/redhat/self-test/data/centos-78e36f3b0dae.el7
@@ -68,6 +68,7 @@ SPECKPATCHLEVEL=17
SPECKSUBLEVEL=0
SPECKVERSION=5
SPECRELEASED_KERNEL=0
+SPECSELFTESTS_MUST_BUILD=0
SPECTARFILE_RELEASE=5.17.0-0.rc0.78e36f3b0dae.6.test
SPECVERSION=5.17.0
SRPM=../redhat/rpm/SRPMS/kernel-5.17.0-0.rc0.78e36f3b0dae.6.test.el7.src.rpm
diff --git a/redhat/self-test/data/centos-78e36f3b0dae.el7.spec
b/redhat/self-test/data/centos-78e36f3b0dae.el7.spec
index blahblah..blahblah 100755
--- a/redhat/self-test/data/centos-78e36f3b0dae.el7.spec
+++ b/redhat/self-test/data/centos-78e36f3b0dae.el7.spec
@@ -12,4 +12,5 @@
%define patchlevel 17
%define specrelease 0.rc0.78e36f3b0dae.6%{?buildid}%{?dist}
%define kabiversion 5.17.0-0.rc0.78e36f3b0dae.6.test
+%define selftests_must_build 0
Mon Mar 28 2022 Fedora Kernel Team <kernel-team(a)fedoraproject.org>
[5.17.0-0.rc0.78e36f3b0dae.6.test]
diff --git a/redhat/self-test/data/centos-78e36f3b0dae.fc25
b/redhat/self-test/data/centos-78e36f3b0dae.fc25
index blahblah..blahblah 100644
--- a/redhat/self-test/data/centos-78e36f3b0dae.fc25
+++ b/redhat/self-test/data/centos-78e36f3b0dae.fc25
@@ -68,6 +68,7 @@ SPECKPATCHLEVEL=17
SPECKSUBLEVEL=0
SPECKVERSION=5
SPECRELEASED_KERNEL=0
+SPECSELFTESTS_MUST_BUILD=0
SPECTARFILE_RELEASE=5.17.0-0.rc0.78e36f3b0dae.6.test
SPECVERSION=5.17.0
SRPM=../redhat/rpm/SRPMS/kernel-5.17.0-0.rc0.78e36f3b0dae.6.test.fc25.src.rpm
diff --git a/redhat/self-test/data/centos-78e36f3b0dae.fc25.spec
b/redhat/self-test/data/centos-78e36f3b0dae.fc25.spec
index blahblah..blahblah 100755
--- a/redhat/self-test/data/centos-78e36f3b0dae.fc25.spec
+++ b/redhat/self-test/data/centos-78e36f3b0dae.fc25.spec
@@ -12,4 +12,5 @@
%define patchlevel 17
%define specrelease 0.rc0.78e36f3b0dae.6%{?buildid}%{?dist}
%define kabiversion 5.17.0-0.rc0.78e36f3b0dae.6.test
+%define selftests_must_build 0
Mon Mar 28 2022 Fedora Kernel Team <kernel-team(a)fedoraproject.org>
[5.17.0-0.rc0.78e36f3b0dae.6.test]
diff --git a/redhat/self-test/data/centos-df0cc57e057f.el7
b/redhat/self-test/data/centos-df0cc57e057f.el7
index blahblah..blahblah 100644
--- a/redhat/self-test/data/centos-df0cc57e057f.el7
+++ b/redhat/self-test/data/centos-df0cc57e057f.el7
@@ -68,6 +68,7 @@ SPECKPATCHLEVEL=16
SPECKSUBLEVEL=0
SPECKVERSION=5
SPECRELEASED_KERNEL=0
+SPECSELFTESTS_MUST_BUILD=0
SPECTARFILE_RELEASE=5.16.0-6.test
SPECVERSION=5.16.0
SRPM=../redhat/rpm/SRPMS/kernel-5.16.0-6.test.el7.src.rpm
diff --git a/redhat/self-test/data/centos-df0cc57e057f.el7.spec
b/redhat/self-test/data/centos-df0cc57e057f.el7.spec
index blahblah..blahblah 100755
--- a/redhat/self-test/data/centos-df0cc57e057f.el7.spec
+++ b/redhat/self-test/data/centos-df0cc57e057f.el7.spec
@@ -11,4 +11,5 @@
%define patchlevel 16
%define specrelease 6%{?buildid}%{?dist}
%define kabiversion 5.16.0-6.test
+%define selftests_must_build 0
Mon Mar 28 2022 Fedora Kernel Team <kernel-team(a)fedoraproject.org> [5.16.0-6.test]
diff --git a/redhat/self-test/data/centos-df0cc57e057f.fc25
b/redhat/self-test/data/centos-df0cc57e057f.fc25
index blahblah..blahblah 100644
--- a/redhat/self-test/data/centos-df0cc57e057f.fc25
+++ b/redhat/self-test/data/centos-df0cc57e057f.fc25
@@ -68,6 +68,7 @@ SPECKPATCHLEVEL=16
SPECKSUBLEVEL=0
SPECKVERSION=5
SPECRELEASED_KERNEL=0
+SPECSELFTESTS_MUST_BUILD=0
SPECTARFILE_RELEASE=5.16.0-6.test
SPECVERSION=5.16.0
SRPM=../redhat/rpm/SRPMS/kernel-5.16.0-6.test.fc25.src.rpm
diff --git a/redhat/self-test/data/centos-df0cc57e057f.fc25.spec
b/redhat/self-test/data/centos-df0cc57e057f.fc25.spec
index blahblah..blahblah 100755
--- a/redhat/self-test/data/centos-df0cc57e057f.fc25.spec
+++ b/redhat/self-test/data/centos-df0cc57e057f.fc25.spec
@@ -11,4 +11,5 @@
%define patchlevel 16
%define specrelease 6%{?buildid}%{?dist}
%define kabiversion 5.16.0-6.test
+%define selftests_must_build 0
Mon Mar 28 2022 Fedora Kernel Team <kernel-team(a)fedoraproject.org> [5.16.0-6.test]
diff --git a/redhat/self-test/data/centos-fce15c45d3fb.el7
b/redhat/self-test/data/centos-fce15c45d3fb.el7
index blahblah..blahblah 100644
--- a/redhat/self-test/data/centos-fce15c45d3fb.el7
+++ b/redhat/self-test/data/centos-fce15c45d3fb.el7
@@ -68,6 +68,7 @@ SPECKPATCHLEVEL=16
SPECKSUBLEVEL=0
SPECKVERSION=5
SPECRELEASED_KERNEL=0
+SPECSELFTESTS_MUST_BUILD=0
SPECTARFILE_RELEASE=5.16.0-0.rc5.fce15c45d3fb.6.test
SPECVERSION=5.16.0
SRPM=../redhat/rpm/SRPMS/kernel-5.16.0-0.rc5.fce15c45d3fb.6.test.el7.src.rpm
diff --git a/redhat/self-test/data/centos-fce15c45d3fb.el7.spec
b/redhat/self-test/data/centos-fce15c45d3fb.el7.spec
index blahblah..blahblah 100755
--- a/redhat/self-test/data/centos-fce15c45d3fb.el7.spec
+++ b/redhat/self-test/data/centos-fce15c45d3fb.el7.spec
@@ -12,4 +12,5 @@
%define patchlevel 16
%define specrelease 0.rc5.fce15c45d3fb.6%{?buildid}%{?dist}
%define kabiversion 5.16.0-0.rc5.fce15c45d3fb.6.test
+%define selftests_must_build 0
Mon Mar 28 2022 Fedora Kernel Team <kernel-team(a)fedoraproject.org>
[5.16.0-0.rc5.fce15c45d3fb.6.test]
diff --git a/redhat/self-test/data/centos-fce15c45d3fb.fc25
b/redhat/self-test/data/centos-fce15c45d3fb.fc25
index blahblah..blahblah 100644
--- a/redhat/self-test/data/centos-fce15c45d3fb.fc25
+++ b/redhat/self-test/data/centos-fce15c45d3fb.fc25
@@ -68,6 +68,7 @@ SPECKPATCHLEVEL=16
SPECKSUBLEVEL=0
SPECKVERSION=5
SPECRELEASED_KERNEL=0
+SPECSELFTESTS_MUST_BUILD=0
SPECTARFILE_RELEASE=5.16.0-0.rc5.fce15c45d3fb.6.test
SPECVERSION=5.16.0
SRPM=../redhat/rpm/SRPMS/kernel-5.16.0-0.rc5.fce15c45d3fb.6.test.fc25.src.rpm
diff --git a/redhat/self-test/data/centos-fce15c45d3fb.fc25.spec
b/redhat/self-test/data/centos-fce15c45d3fb.fc25.spec
index blahblah..blahblah 100755
--- a/redhat/self-test/data/centos-fce15c45d3fb.fc25.spec
+++ b/redhat/self-test/data/centos-fce15c45d3fb.fc25.spec
@@ -12,4 +12,5 @@
%define patchlevel 16
%define specrelease 0.rc5.fce15c45d3fb.6%{?buildid}%{?dist}
%define kabiversion 5.16.0-0.rc5.fce15c45d3fb.6.test
+%define selftests_must_build 0
Mon Mar 28 2022 Fedora Kernel Team <kernel-team(a)fedoraproject.org>
[5.16.0-0.rc5.fce15c45d3fb.6.test]
diff --git a/redhat/self-test/data/fedora-2585cf9dfaad.el7
b/redhat/self-test/data/fedora-2585cf9dfaad.el7
index blahblah..blahblah 100644
--- a/redhat/self-test/data/fedora-2585cf9dfaad.el7
+++ b/redhat/self-test/data/fedora-2585cf9dfaad.el7
@@ -67,6 +67,7 @@ SPECKPATCHLEVEL=16
SPECKSUBLEVEL=0
SPECKVERSION=5
SPECRELEASED_KERNEL=0
+SPECSELFTESTS_MUST_BUILD=0
SPECTARFILE_RELEASE=5.16-rc5
SPECVERSION=5.16.0
SRPM=../redhat/rpm/SRPMS/kernel-5.16.0-0.rc5.6.test.el7.src.rpm
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2021