Hi, we tested your kernel and here are the results:
Overall result: PASSED
Merge: OK
Compile: OK
Test: OK
Tested-by: CKI Project <cki-project(a)redhat.com>
Kernel information:
Brew / Koji Task ID: 112419587
You can find all the details about the test run at
https://datawarehouse.cki-project.org/kcidb/checkouts/126077
One or more kernel tests failed:
We also see the following known issues which are not related to your changes:
Issue: NFS Connectathon: SELinux prevents rpcbind
URL: https://bugzilla.redhat.com/1758147
Affected tests:
x86_64 - Filesystem - NFS Connectathon
Tests that were not ran because of internal issues:
ppc64le - CKI/restraint
ppc64le - SELinux Custom Module Setup
ppc64le - machineinfo
ppc64le - Boot test
ppc64le - selinux-policy: serge-testsuite
ppc64le - Reboot test
If you find a failure unrelated to your changes, please ask the test maintainer to review it.
This will prevent the failures from being incorrectly reported in the future.
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
From: Don Zickus on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2732
This is an attempt to automate the rt and automotive devel branches
using the upstream linux-rt-devel tree as the base combined with
os-build.
The overall process isn't too complicated but there are enough steps to
make it compilicated.
Steps:
* map upstream linux-rt-devel to master-rt branch
* update os-build
* grab linux version from master-rt and os-build
* if version the same then merge os-build and master-rt to
os-build-rt-automated
* else merge linux-stable and master-rt to os-build-rt-automated until
master-rt is update to os-build
* merge os-build-rt-automated into os-build-rt-devel
* merge os-build-rt-automated into os-build-automotive-devel
* run the generate pending-rhel config scripts on rt-devel and
automotive-devel
The script has beginning logic to handle rebasing if necessary when the
rt-devel branch transitions from linux-stable to linux master again.
The script has no effect on the day-to-day operations of os-build. They
are designed to be run from a gitlab cron job and update in the
background. Once they are deemed stable, adding ARK MRs that target
either os-build-rt-devel or os-build-automotive-devel will be possible
and those branches can start proper parallel developement with os-build.
Signed-off-by: Don Zickus <dzickus(a)redhat.com>
---
redhat/scripts/ci/ark-ci-env.sh | 178 ++++++++++++++++++++++++++++++++++++-
redhat/scripts/ci/ark-merge-rt.sh | 173 ++++++++++++++++++++++++++++++++++++
redhat/kernel.spec.template | 2 +-
3 files changed, 345 insertions(+), 8 deletions(-)
From: Don Zickus on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2732
This is an attempt to automate the rt and automotive devel branches
using the upstream linux-rt-devel tree as the base combined with
os-build.
The overall process isn't too complicated but there are enough steps to
make it compilicated.
Steps:
* map upstream linux-rt-devel to master-rt branch
* update os-build
* grab linux version from master-rt and os-build
* if version the same then merge os-build and master-rt to
os-build-rt-automated
* else merge linux-stable and master-rt to os-build-rt-automated until
master-rt is update to os-build
* merge os-build-rt-automated into os-build-rt-devel
* merge os-build-rt-automated into os-build-automotive-devel
* run the generate pending-rhel config scripts on rt-devel and
automotive-devel
The script has beginning logic to handle rebasing if necessary when the
rt-devel branch transitions from linux-stable to linux master again.
The script has no effect on the day-to-day operations of os-build. They
are designed to be run from a gitlab cron job and update in the
background. Once they are deemed stable, adding ARK MRs that target
either os-build-rt-devel or os-build-automotive-devel will be possible
and those branches can start proper parallel developement with os-build.
Signed-off-by: Don Zickus <dzickus(a)redhat.com>
---
redhat/scripts/ci/ark-ci-env.sh | 178 ++++++++++++++++++++++++++++++++++++-
redhat/scripts/ci/ark-merge-rt.sh | 173 ++++++++++++++++++++++++++++++++++++
redhat/kernel.spec.template | 2 +-
3 files changed, 345 insertions(+), 8 deletions(-)
From: Justin M. Forbes <jforbes(a)fedoraproject.org>
Add scaffolding to build the kernel-headers package for Fedora
For years, the scripts to build the kernel headers package have been
sitting on maintainers desktops. Let's get those into kernel-ark. I have
been using these to create the Fedora kernel-headers dist-git for a
while now.
Signed-off-by: Justin M. Forbes <jforbes(a)fedoraproject.org>
diff --git a/redhat/Makefile b/redhat/Makefile
index blahblah..blahblah 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -845,6 +845,22 @@ ifeq ("$(RHDISTGIT_BRANCH)", "")
endif
$(REDHAT)/scripts/rh-dist-git.sh
+dist-headers-srpm:
+ @scripts/create_headers_tarball.sh
+ @cp $(REDHAT)/kernel-headers.spec.template $(SOURCES)/kernel-headers.spec
+ @$(REDHAT)/scripts/genspec/headerspec.sh
+ @cp $(SOURCES)/kernel-headers.spec $(SOURCES)/../SPECS/
+ $(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir $(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" --define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" --nodeps -bs $(RPM)/SOURCES/kernel-headers.spec
+
+dist-git-headers: dist-headers-srpm
+ifeq ("$(RHDISTGIT_BRANCH)", "")
+ $(error RHDISTGIT_BRANCH unset)
+endif
+ SPECPACKAGE_NAME=kernel-headers SRPM=$(SRPMS)/kernel-headers-$(BASEVERSION)$(DIST).src.rpm $(REDHAT)/scripts/rh-headers-dist-git.sh
+
+dist-git-headers-test: export RH_DIST_GIT_TEST="1"
+dist-git-headers-test: dist-git-headers
+
dist-rtg: dist-release
@$(MAKE) dist-release-tag
@$(MAKE) dist-git
diff --git a/redhat/kernel-headers.spec.template b/redhat/kernel-headers.spec.template
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/kernel-headers.spec.template
@@ -0,0 +1,112 @@
+# For a stable, released kernel, released_kernel should be 1. For rawhide
+# and/or a kernel built from an rc or git snapshot, released_kernel should
+# be 0.
+%global released_kernel %%SPECRELEASED_KERNEL%%
+
+%%SPECBUILDID%%
+%define specversion %%SPECVERSION%%
+%define tarfile_release %%SPECTARFILE_RELEASE%%
+# This is needed to do merge window version magic
+# This allows pkg_release to have configurable %%{?dist} tag
+%define specrelease %%SPECRELEASE%%
+
+# This package doesn't contain any binary, thus no debuginfo package is needed
+%global debug_package %{nil}
+
+Name: kernel-headers
+Summary: Header files for the Linux kernel for use by glibc
+License: ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-2-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND ((GPL-2.0-only WITH Linux-syscall-note) OR MIT) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR MIT) AND BSD-3-Clause AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only WITH Linux-syscall-note) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND (LGPL-2.1-only WITH Linux-syscall-note) AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND MIT
+URL: http://www.kernel.org/
+Version: %{specversion}
+Release: %{specrelease}
+# This is a tarball with headers from the kernel, which should be created
+# using create_headers_tarball.sh provided in the kernel source package.
+# To create the tarball, you should go into a prepared/patched kernel sources
+# directory, or git kernel source repository, and do eg.:
+# For a RHEL package: (...)/create_headers_tarball.sh -m RHEL_RELEASE
+# For a Fedora package: kernel/scripts/create_headers_tarball.sh -r <release number>
+Source0: kernel-headers-%{tarfile_release}.tar.xz
+Obsoletes: glibc-kernheaders < 3.0-46
+Provides: glibc-kernheaders = 3.0-46
+%if "0%{?variant}"
+Obsoletes: kernel-headers < %{specversion}-%{specrelease}
+Provides: kernel-headers = %{specversion}-%{specrelease}
+%endif
+
+%description
+Kernel-headers includes the C header files that specify the interface
+between the Linux kernel and userspace libraries and programs. The
+header files define structures and constants that are needed for
+building most standard programs and are also needed for rebuilding the
+glibc package.
+
+%package -n kernel-cross-headers
+Summary: Header files for the Linux kernel for use by cross-glibc
+
+%description -n kernel-cross-headers
+Kernel-cross-headers includes the C header files that specify the interface
+between the Linux kernel and userspace libraries and programs. The
+header files define structures and constants that are needed for
+building most standard programs and are also needed for rebuilding the
+cross-glibc package.
+
+%prep
+%setup -q -c
+
+%build
+
+%install
+# List of architectures we support and want to copy their headers
+ARCH_LIST="arm arm64 powerpc riscv s390 x86"
+
+ARCH=%_target_cpu
+case $ARCH in
+ armv7hl)
+ ARCH=arm
+ ;;
+ aarch64)
+ ARCH=arm64
+ ;;
+ ppc64*)
+ ARCH=powerpc
+ ;;
+ riscv64)
+ ARCH=riscv
+ ;;
+ s390x)
+ ARCH=s390
+ ;;
+ x86_64|i*86)
+ ARCH=x86
+ ;;
+esac
+
+cd arch-$ARCH/include
+mkdir -p $RPM_BUILD_ROOT%{_includedir}
+cp -a asm-generic $RPM_BUILD_ROOT%{_includedir}
+
+# Copy all the architectures we care about to their respective asm directories
+for arch in $ARCH_LIST; do
+ mkdir -p $RPM_BUILD_ROOT%{_prefix}/${arch}-linux-gnu/include
+ cp -a asm-generic $RPM_BUILD_ROOT%{_prefix}/${arch}-linux-gnu/include/
+done
+
+# Remove what we copied already
+rm -rf asm-generic
+
+# Copy the rest of the headers over
+cp -a * $RPM_BUILD_ROOT%{_includedir}/
+for arch in $ARCH_LIST; do
+cp -a * $RPM_BUILD_ROOT%{_prefix}/${arch}-linux-gnu/include/
+done
+
+%files
+%defattr(-,root,root)
+%{_includedir}/*
+
+%files -n kernel-cross-headers
+%defattr(-,root,root)
+%{_prefix}/*-linux-gnu/*
+
+%changelog
+%autochangelog
diff --git a/redhat/scripts/create_headers_tarball.sh b/redhat/scripts/create_headers_tarball.sh
new file mode 100755
index blahblah..blahblah 100755
--- /dev/null
+++ b/redhat/scripts/create_headers_tarball.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+# shellcheck disable=SC2035
+# shellcheck disable=SC2038
+# shellcheck disable=SC3044
+# This script is aimed at generating the headers from the kernel sources.
+
+set -e
+
+# ARCH_LIST below has the default list of supported architectures
+# (the architectures names may be different from rpm, you list here the
+# names of arch/<arch> directories in the kernel sources)
+ARCH_LIST="arm arm64 powerpc riscv s390 x86"
+
+headers_dir=$(mktemp -d)
+trap 'rm -rf "$headers_dir"' SIGHUP SIGINT SIGTERM EXIT
+
+archs=${ARCH_LIST:-$(ls arch)}
+
+# Upstream rmeoved the headers_install_all target so do it manually
+for arch in $archs; do
+ cd "$TOPDIR"
+ mkdir "$headers_dir/arch-$arch"
+ make ARCH="$arch" INSTALL_HDR_PATH="$headers_dir/arch-$arch" KBUILD_HEADERS=install headers_install
+done
+find "$headers_dir" \
+ \( -name .install -o -name .check -o \
+ -name ..install.cmd -o -name ..check.cmd \) | xargs rm -f
+
+TARBALL="$SOURCES/kernel-headers-$UPSTREAM_TARBALL_NAME.tar.xz"
+pushd "$headers_dir"
+ tar -Jcf "$TARBALL" *
+popd
+
+echo wrote "$TARBALL"
diff --git a/redhat/scripts/genspec/headerspec.sh b/redhat/scripts/genspec/headerspec.sh
new file mode 100755
index blahblah..blahblah 100755
--- /dev/null
+++ b/redhat/scripts/genspec/headerspec.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+# shellcheck disable=SC2153
+
+if [ -n "$DISTLOCALVERSION" ]; then
+ SPECBUILDID=$(printf "%%define buildid %s" "$DISTLOCALVERSION")
+else
+ SPECBUILDID="# define buildid .local"
+fi
+
+# The SPECRELEASE variable uses the SPECBUILDID variable which is
+# defined above. IOW, don't remove SPECBUILDID ;)
+SPECRELEASE="${UPSTREAMBUILD}""${BUILD}""%{?buildid}%{?dist}"
+
+# self-test begin
+test -f "$SOURCES/kernel-headers.spec" &&
+ sed -i -e "
+ s/%%SPECBUILDID%%/$SPECBUILDID/
+ s/%%SPECKVERSION%%/$SPECKVERSION/
+ s/%%SPECKPATCHLEVEL%%/$SPECKPATCHLEVEL/
+ s/%%SPECBUILD%%/$SPECBUILD/
+ s/%%SPECRELEASE%%/$SPECRELEASE/
+ s/%%SPECRELEASED_KERNEL%%/$SPECRELEASED_KERNEL/
+ s/%%SPECINCLUDE_FEDORA_FILES%%/$SPECINCLUDE_FEDORA_FILES/
+ s/%%SPECINCLUDE_RHEL_FILES%%/$SPECINCLUDE_RHEL_FILES/
+ s/%%SPECPATCHLIST_CHANGELOG%%/$SPECPATCHLIST_CHANGELOG/
+ s/%%SPECINCLUDE_RT_FILES%%/$SPECINCLUDE_RT_FILES/
+ s/%%SPECVERSION%%/$SPECVERSION/
+ s/%%SPECRPMVERSION%%/$SPECRPMVERSION/
+ s/%%SPECKABIVERSION%%/$SPECKABIVERSION/
+ s/%%SPECBPFTOOLVERSION%%/$SPECBPFTOOLVERSION/
+ s/%%SPECTARFILE_RELEASE%%/$SPECTARFILE_RELEASE/
+ s/%%SPECPACKAGE_NAME%%/$SPECPACKAGE_NAME/
+ s/%%SPECGEMINI%%/$SPECGEMINI/
+ s/%%SPECSELFTESTS_MUST_BUILD%%/$SPECSELFTESTS_MUST_BUILD/" "$SOURCES/kernel-headers.spec"
+# self-test end
diff --git a/redhat/scripts/rh-headers-dist-git.sh b/redhat/scripts/rh-headers-dist-git.sh
new file mode 100755
index blahblah..blahblah 100755
--- /dev/null
+++ b/redhat/scripts/rh-headers-dist-git.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+# clones and updates a dist-git repo
+
+# shellcheck disable=SC2164
+
+function die
+{
+ echo "Error: $1" >&2;
+ exit 1;
+}
+
+function upload()
+{
+ [ -n "$RH_DIST_GIT_TEST" ] && return
+ $RHPKG_BIN new-sources "$@" >/dev/null || die "uploading $*";
+}
+
+if [ -z "$RHDISTGIT_BRANCH" ]; then
+ echo "$0: RHDISTGIT_BRANCH is not set" >&2
+ exit 1
+fi
+
+echo "Cloning the repository"
+# clone the dist-git, considering cache
+date=$(date +"%Y-%m-%d")
+tmpdir="$(mktemp -d --tmpdir="$RHDISTGIT_TMP" RHEL"$RHEL_MAJOR"."$date".XXXXXXXX)"
+cd "$tmpdir" || die "Unable to create temporary directory";
+echo "Cloning using $RHPKG_BIN" >&2;
+# shellcheck disable=SC2086
+eval $RHPKG_BIN clone "kernel-headers" >/dev/null || die "Unable to clone using $RHPKG_BIN";
+
+echo "Switching the branch"
+# change in the correct branch
+cd "$tmpdir/kernel-headers";
+$RHPKG_BIN switch-branch "$RHDISTGIT_BRANCH" || die "switching to branch $RHDISTGIT_BRANCH";
+
+echo "Unpacking from SRPM"
+"$REDHAT"/scripts/expand_srpm.sh "$tmpdir"
+git reset HEAD -- README.md
+git checkout README.md
+git add README.md
+
+# upload tarballs
+upload_list="kernel-headers-$UPSTREAM_TARBALL_NAME.tar.xz"
+
+echo "Uploading new tarballs: $upload_list"
+# We depend on word splitting here:
+# shellcheck disable=SC2086
+upload $upload_list
+
+echo "Creating diff for review ($tmpdir/diff) and changelog"
+# diff the result (redhat/git/dontdiff). note: diff reuturns 1 if
+# differences were found
+diff -X "$REDHAT"/git/dontdiff -upr "$tmpdir/kernel-headers" "$REDHAT"/rpm/SOURCES/ > "$tmpdir"/diff;
+
+# all done
+echo "$tmpdir"
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2910
From: Justin M. Forbes on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2907
When kernel-tools was split out to a separate package in Fedora, it was due to
several factors. Most of those issues have been mitigated in other ways, and
there are advantages to building tools with the kernel build. Let's turn on
tools for Fedora. To do so, we need to add the libperf packages, but this
enables them for Fedora only.
It is worth noting that the Fedora package for bpftool will retain the
upstream kernel versioning. This is because the bpftool versioning scheme is
incompatible with the stable Fedora process.
---
redhat/kernel.spec.template | 83 +++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 80 insertions(+), 3 deletions(-)
From: Florian Westphal on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2823
Disable DCCP conntrack and the old iptables-32-bit-compat interface in all
configurations.
Set
CONFIG_NETFILTER_NETLINK_HOOK=m
in all configurations (only enabled in rhel so far)
and disable
CONFIG_NF_CT_PROTO_DCCP and CONFIG_NETFILTER_XTABLES_COMPAT
in all configurations.
Signed-off-by: Florian Westphal <fwestpha(a)redhat.com>
---
redhat/configs/rhel/generic/CONFIG_NETFILTER_NETLINK_HOOK => redhat/configs/common/generic/CONFIG_NETFILTER_NETLINK_HOOK | 0
redhat/configs/rhel/generic/CONFIG_NETFILTER_XTABLES_COMPAT => redhat/configs/common/generic/CONFIG_NETFILTER_XTABLES_COMPAT | 0
redhat/configs/common/generic/CONFIG_NF_CT_PROTO_DCCP | 2 +-
redhat/configs/fedora/generic/CONFIG_NETFILTER_NETLINK_HOOK | 1 -
redhat/configs/fedora/generic/CONFIG_NETFILTER_XTABLES_COMPAT | 1 -
5 files changed, 1 insertions(+), 3 deletions(-)