diff --git a/Makefile.rhelver b/Makefile.rhelver index 6f633b9..bfe8675 100644 --- a/Makefile.rhelver +++ b/Makefile.rhelver @@ -12,7 +12,7 @@ RHEL_MINOR = 2 # # Use this spot to avoid future merge conflicts. # Do not trim this comment. -RHEL_RELEASE = 171 +RHEL_RELEASE = 172 # # ZSTREAM diff --git a/filter-modules.sh.rhel b/filter-modules.sh.rhel index d70796a..81c9e14 100755 --- a/filter-modules.sh.rhel +++ b/filter-modules.sh.rhel @@ -39,7 +39,7 @@ netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee80215 drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via " -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus" +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus nct6775 ntc_thermistor" # Grab the arch-specific filter list overrides source ./filter-$2.sh diff --git a/generate_all_configs.sh b/generate_all_configs.sh index 9e3d5ec..099d9aa 100755 --- a/generate_all_configs.sh +++ b/generate_all_configs.sh @@ -1,30 +1,26 @@ #!/bin/sh # Adjusts the configuration options to build the variants correctly -# -# arg1: configuration to go in the primary variant -# arg2: are we only generating debug configs +test -n "$RHTEST" && exit 0 -PRIMARY=$1 -DEBUGBUILDSENABLED=$2 - -if [ -z "$2" ]; then +DEBUGBUILDSENABLED=$1 +if [ -z "$DEBUGBUILDSENABLED" ]; then exit 1 fi -if [ -z "$PRIMARY" ]; then - PRIMARY=rhel +if [ -z "$FLAVOR" ]; then + FLAVOR=rhel fi -if [ "$PRIMARY" = "fedora" ]; then +if [ "$FLAVOR" = "fedora" ]; then SECONDARY=rhel else SECONDARY=fedora fi -for i in kernel-*-"$PRIMARY".config; do - NEW=kernel-"$VERSION"-$(echo "$i" | cut -d - -f2- | sed s/-"$PRIMARY"//) +for i in kernel-*-"$FLAVOR".config; do + NEW=kernel-"$SPECVERSION"-$(echo "$i" | cut -d - -f2- | sed s/-"$FLAVOR"//) #echo $NEW mv "$i" "$NEW" done diff --git a/kernel-aarch64-debug-rhel.config b/kernel-aarch64-debug-rhel.config index 6ac4710..3ac6780 100644 --- a/kernel-aarch64-debug-rhel.config +++ b/kernel-aarch64-debug-rhel.config @@ -3903,9 +3903,11 @@ CONFIG_NVME_VERBOSE_ERRORS=y # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_OCFS2_FS is not set +# CONFIG_OCTEON_EP is not set # CONFIG_OCTEONTX2_AF is not set CONFIG_OCTEONTX2_MBOX=m # CONFIG_OCTEONTX2_PF is not set +# CONFIG_OCTEONTX2_VF is not set CONFIG_OCXL=m CONFIG_OF_MDIO=y # CONFIG_OF_OVERLAY is not set diff --git a/kernel-aarch64-rhel.config b/kernel-aarch64-rhel.config index 344a9b0..000fd74 100644 --- a/kernel-aarch64-rhel.config +++ b/kernel-aarch64-rhel.config @@ -3882,9 +3882,11 @@ CONFIG_NVME_VERBOSE_ERRORS=y # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_OCFS2_FS is not set +# CONFIG_OCTEON_EP is not set # CONFIG_OCTEONTX2_AF is not set CONFIG_OCTEONTX2_MBOX=m # CONFIG_OCTEONTX2_PF is not set +# CONFIG_OCTEONTX2_VF is not set CONFIG_OCXL=m CONFIG_OF_MDIO=y # CONFIG_OF_OVERLAY is not set diff --git a/kernel-ppc64le-debug-rhel.config b/kernel-ppc64le-debug-rhel.config index 20343f1..f97fac9 100644 --- a/kernel-ppc64le-debug-rhel.config +++ b/kernel-ppc64le-debug-rhel.config @@ -3583,6 +3583,7 @@ CONFIG_NVRAM=m # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_OCFS2_FS is not set +# CONFIG_OCTEON_EP is not set # CONFIG_OCTEONTX2_AF is not set # CONFIG_OCTEONTX2_PF is not set CONFIG_OCXL=m diff --git a/kernel-ppc64le-rhel.config b/kernel-ppc64le-rhel.config index 3093e16..90fd848 100644 --- a/kernel-ppc64le-rhel.config +++ b/kernel-ppc64le-rhel.config @@ -3563,6 +3563,7 @@ CONFIG_NVRAM=m # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_OCFS2_FS is not set +# CONFIG_OCTEON_EP is not set # CONFIG_OCTEONTX2_AF is not set # CONFIG_OCTEONTX2_PF is not set CONFIG_OCXL=m diff --git a/kernel-s390x-debug-rhel.config b/kernel-s390x-debug-rhel.config index bf9e8f2..d1707d7 100644 --- a/kernel-s390x-debug-rhel.config +++ b/kernel-s390x-debug-rhel.config @@ -3572,6 +3572,7 @@ CONFIG_NVME_VERBOSE_ERRORS=y # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_OCFS2_FS is not set +# CONFIG_OCTEON_EP is not set # CONFIG_OCTEONTX2_AF is not set # CONFIG_OCTEONTX2_PF is not set CONFIG_OCXL=m diff --git a/kernel-s390x-rhel.config b/kernel-s390x-rhel.config index c27e57e..9af24a4 100644 --- a/kernel-s390x-rhel.config +++ b/kernel-s390x-rhel.config @@ -3552,6 +3552,7 @@ CONFIG_NVME_VERBOSE_ERRORS=y # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_OCFS2_FS is not set +# CONFIG_OCTEON_EP is not set # CONFIG_OCTEONTX2_AF is not set # CONFIG_OCTEONTX2_PF is not set CONFIG_OCXL=m diff --git a/kernel-s390x-zfcpdump-rhel.config b/kernel-s390x-zfcpdump-rhel.config index 3ea931e..1b76b47 100644 --- a/kernel-s390x-zfcpdump-rhel.config +++ b/kernel-s390x-zfcpdump-rhel.config @@ -3568,6 +3568,7 @@ CONFIG_NVME_VERBOSE_ERRORS=y # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_OCFS2_FS is not set +# CONFIG_OCTEON_EP is not set # CONFIG_OCTEONTX2_AF is not set # CONFIG_OCTEONTX2_PF is not set CONFIG_OCXL=m diff --git a/kernel-x86_64-debug-rhel.config b/kernel-x86_64-debug-rhel.config index 94285c1..ab52732 100644 --- a/kernel-x86_64-debug-rhel.config +++ b/kernel-x86_64-debug-rhel.config @@ -3767,6 +3767,7 @@ CONFIG_NVRAM=y # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_OCFS2_FS is not set +# CONFIG_OCTEON_EP is not set # CONFIG_OCTEONTX2_AF is not set # CONFIG_OCTEONTX2_PF is not set CONFIG_OCXL=m diff --git a/kernel-x86_64-rhel.config b/kernel-x86_64-rhel.config index 4cc07dd..96d0b9c 100644 --- a/kernel-x86_64-rhel.config +++ b/kernel-x86_64-rhel.config @@ -3747,6 +3747,7 @@ CONFIG_NVRAM=y # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_OCFS2_FS is not set +# CONFIG_OCTEON_EP is not set # CONFIG_OCTEONTX2_AF is not set # CONFIG_OCTEONTX2_PF is not set CONFIG_OCXL=m diff --git a/kernel.spec b/kernel.spec index 12ca23e..af08835 100755 --- a/kernel.spec +++ b/kernel.spec @@ -3,11 +3,6 @@ # environment changes that affect %%install need to go # here before the %%install macro is pre-built. -# Include Fedora files -%global include_fedora 0 -# Include RHEL files -%global include_rhel 1 - # Disable LTO in userspace packages. %global _lto_cflags %{nil} @@ -70,15 +65,6 @@ %endif Summary: The Linux kernel - -# Set debugbuildsenabled to 1 to build separate base and debug kernels -# (on supported architectures). The kernel-debug-* subpackages will -# contain the debug kernel. -# Set debugbuildsenabled to 0 to not build a separate debug kernel, but -# to build the base kernel using the debug configuration. (Specifying -# the --with-release option overrides this setting.) -%define debugbuildsenabled 1 - %if 0%{?fedora} %define secure_boot_arch x86_64 %else @@ -105,29 +91,47 @@ Summary: The Linux kernel %if %{zipmodules} %global zipsed -e 's/\.ko$/\.ko.xz/' # for parallel xz processes, replace with 1 to go back to single process -%global zcpu `nproc --all` %endif -# define buildid .local - - %if 0%{?fedora} %define primary_target fedora %else %define primary_target rhel %endif -# The kernel tarball/base version -%define kversion 5.14 - -%define rpmversion 5.14.0 -%define pkgrelease 171.el9 +# +# genspec.sh variables +# +# Include Fedora files +%global include_fedora 0 +# Include RHEL files +%global include_rhel 1 +# Provide Patchlist.changelog file +%global patchlist_changelog 0 +# Set debugbuildsenabled to 1 to build separate base and debug kernels +# (on supported architectures). The kernel-debug-* subpackages will +# contain the debug kernel. +# Set debugbuildsenabled to 0 to not build a separate debug kernel, but +# to build the base kernel using the debug configuration. (Specifying +# the --with-release option overrides this setting.) +%define debugbuildsenabled 1 +# define buildid .local +%define specversion 5.14.0 +%define patchversion 5.14 +%define pkgrelease 172 +%define kversion 5 +%define tarfile_release 5.14.0-172.el9 # This is needed to do merge window version magic %define patchlevel 14 +# This allows pkg_release to have configurable %%{?dist} tag +%define specrelease 172%{?buildid}%{?dist} +# This defines the kabi tarball version +%define kabiversion 5.14.0-172.el9 -# allow pkg_release to have configurable %%{?dist} tag -%define specrelease 171%{?buildid}%{?dist} +# +# End of genspec.sh variables +# %define pkg_release %{specrelease} @@ -238,9 +242,14 @@ Summary: The Linux kernel %endif %if %{with toolchain_clang} -%global clang_make_opts HOSTCC=clang CC=clang +%ifarch s390x ppc64le +%global llvm_ias 0 +%else +%global llvm_ias 1 +%endif +%global clang_make_opts HOSTCC=clang CC=clang LLVM_IAS=%{llvm_ias} %if %{with clang_lto} -%global clang_make_opts %{clang_make_opts} LD=ld.lld HOSTLD=ld.lld AR=llvm-ar NM=llvm-nm HOSTAR=llvm-ar HOSTNM=llvm-nm LLVM_IAS=1 +%global clang_make_opts %{clang_make_opts} LD=ld.lld HOSTLD=ld.lld AR=llvm-ar NM=llvm-nm HOSTAR=llvm-ar HOSTNM=llvm-nm %endif %global make_opts %{make_opts} %{clang_make_opts} # clang does not support the -fdump-ipa-clones option @@ -538,12 +547,12 @@ Summary: The Linux kernel Name: kernel License: GPLv2 and Redistributable, no modification permitted URL: https://www.kernel.org/ -Version: %{rpmversion} +Version: %{specversion} Release: %{pkg_release} # DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD. # SET %%nobuildarches (ABOVE) INSTEAD %if 0%{?fedora} -ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le +ExclusiveArch: noarch x86_64 s390x %{arm} aarch64 ppc64le %else ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le %endif @@ -557,17 +566,17 @@ Requires: kernel-modules-uname-r = %{KVERREL} # # List the packages used during the kernel build # -BuildRequires: kmod, patch, bash, coreutils, tar, git-core, which +BuildRequires: kmod, bash, coreutils, tar, git-core, which BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex, gcc-c++ BuildRequires: net-tools, hostname, bc, elfutils-devel BuildRequires: dwarves BuildRequires: python3-devel BuildRequires: gcc-plugin-devel +BuildRequires: kernel-rpm-macros >= 185-9 # glibc-static is required for a consistent build environment (specifically # CONFIG_CC_CAN_LINK_STATIC=y). BuildRequires: glibc-static -BuildRequires: kernel-rpm-macros >= 185-9 %ifnarch %{nobuildarches} noarch BuildRequires: bpftool %endif @@ -582,7 +591,7 @@ BuildRequires: sparse %endif %if %{with_perf} BuildRequires: zlib-devel binutils-devel newt-devel perl(ExtUtils::Embed) bison flex xz-devel -BuildRequires: audit-libs-devel +BuildRequires: audit-libs-devel python3-setuptools BuildRequires: java-devel BuildRequires: libbpf-devel >= 0.6.0-1 BuildRequires: libbabeltrace-devel @@ -642,7 +651,10 @@ BuildRequires: kabi-dw %if %{signkernel}%{signmodules} BuildRequires: openssl %if %{signkernel} +# ELN uses Fedora signing process, so exclude +%if 0%{?rhel}%{?centos} && !0%{?eln} BuildRequires: system-sb-certs +%endif %ifarch x86_64 aarch64 BuildRequires: nss-tools BuildRequires: pesign >= 0.10-4 @@ -679,7 +691,7 @@ BuildRequires: lld # exact git commit you can run # # xzcat -qq ${TARBALL} | git get-tar-commit-id -Source0: linux-5.14.0-171.el9.tar.xz +Source0: linux-%{tarfile_release}.tar.xz Source1: Makefile.rhelver @@ -736,7 +748,6 @@ Source33: kernel-x86_64-debug-rhel.config Source34: filter-x86_64.sh.rhel Source35: filter-armv7hl.sh.rhel -Source36: filter-i686.sh.rhel Source37: filter-aarch64.sh.rhel Source38: filter-ppc64le.sh.rhel Source39: filter-s390x.sh.rhel @@ -755,8 +766,6 @@ Source54: kernel-armv7hl-fedora.config Source55: kernel-armv7hl-debug-fedora.config Source56: kernel-armv7hl-lpae-fedora.config Source57: kernel-armv7hl-lpae-debug-fedora.config -Source58: kernel-i686-fedora.config -Source59: kernel-i686-debug-fedora.config Source60: kernel-ppc64le-fedora.config Source61: kernel-ppc64le-debug-fedora.config Source62: kernel-s390x-fedora.config @@ -766,7 +775,6 @@ Source65: kernel-x86_64-debug-fedora.config Source67: filter-x86_64.sh.fedora Source68: filter-armv7hl.sh.fedora -Source69: filter-i686.sh.fedora Source70: filter-aarch64.sh.fedora Source71: filter-ppc64le.sh.fedora Source72: filter-s390x.sh.fedora @@ -796,8 +804,8 @@ Source211: Module.kabi_dup_ppc64le Source212: Module.kabi_dup_s390x Source213: Module.kabi_dup_x86_64 -Source300: kernel-abi-stablelists-%{rpmversion}-%{pkgrelease}.tar.bz2 -Source301: kernel-kabi-dw-%{rpmversion}-%{pkgrelease}.tar.bz2 +Source300: kernel-abi-stablelists-%{kabiversion}.tar.bz2 +Source301: kernel-kabi-dw-%{kabiversion}.tar.bz2 # Sources for kernel-tools Source2000: cpupower.service @@ -809,6 +817,9 @@ Source2002: kvm_stat.logrotate # source tree, but in the mean time we carry this to support the legacy workflow Source3000: merge.pl Source3001: kernel-local +%if %{patchlist_changelog} +Source3002: Patchlist.changelog +%endif Source4000: README.rst Source4001: rpminspect.yaml @@ -818,7 +829,7 @@ Source4002: gating.yaml %if !%{nopatches} -Patch1: patch-%{rpmversion}-redhat.patch +Patch1: patch-%{patchversion}-redhat.patch %endif # empty final patch to facilitate testing of kernel patches @@ -837,10 +848,9 @@ The kernel meta package # %define kernel_reqprovconf(o) \ %if %{-o:0}%{!-o:1}\ -Provides: kernel = %{rpmversion}-%{pkg_release}\ +Provides: kernel = %{specversion}-%{pkg_release}\ %endif\ -Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}%{?1:+%{1}}\ -Provides: kernel-drm-nouveau = 16\ +Provides: kernel-%{_target_cpu} = %{specversion}-%{pkg_release}%{?1:+%{1}}\ Provides: kernel-uname-r = %{KVERREL}%{?1:+%{1}}\ Requires(pre): %{kernel_prereq}\ Requires(pre): %{initrd_prereq}\ @@ -1315,7 +1325,7 @@ if [ "%{patches}" != "%%{patches}" ] ; then done fi 2>/dev/null -patch_command='patch -p1 -F1 -s' +patch_command='git apply' ApplyPatch() { local patch=$1 @@ -1324,7 +1334,7 @@ ApplyPatch() exit 1 fi if ! grep -E "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME}.spec ; then - if [ "${patch:0:8}" != "patch-5." ] ; then + if [ "${patch:0:8}" != "patch-%{kversion}." ] ; then echo "ERROR: Patch $patch not listed as a source patch in specfile" exit 1 fi @@ -1351,15 +1361,15 @@ ApplyOptionalPatch() fi } -%setup -q -n kernel-5.14.0-171.el9 -c -mv linux-5.14.0-171.el9 linux-%{KVERREL} +%setup -q -n kernel-%{tarfile_release} -c +mv linux-%{tarfile_release} linux-%{KVERREL} cd linux-%{KVERREL} cp -a %{SOURCE1} . %if !%{nopatches} -ApplyOptionalPatch patch-%{rpmversion}-redhat.patch +ApplyOptionalPatch patch-%{patchversion}-redhat.patch %endif ApplyOptionalPatch linux-kernel-test.patch @@ -1408,7 +1418,7 @@ cp %{SOURCE80} . cp %{SOURCE3000} . # kernel-local cp %{SOURCE3001} . -VERSION=%{version} ./generate_all_configs.sh %{primary_target} %{debugbuildsenabled} +FLAVOR=%{primary_target} SPECVERSION=%{version} ./generate_all_configs.sh %{debugbuildsenabled} # Merge in any user-provided local config option changes %ifnarch %nobuildarches @@ -1468,7 +1478,7 @@ for opt in %{clang_make_opts}; do OPTS="$OPTS -m $opt" done %endif -./process_configs.sh $OPTS kernel %{rpmversion} +RHJOBS=$RPM_BUILD_NCPUS PACKAGE_NAME=kernel ./process_configs.sh $OPTS ${specversion} cp %{SOURCE82} . RPM_SOURCE_DIR=$RPM_SOURCE_DIR ./update_scripts.sh %{primary_target} @@ -1548,7 +1558,7 @@ InitBuildVars() { cp configs/$Config .config %if %{signkernel}%{signmodules} - cp $RPM_SOURCE_DIR/x509.genkey certs/. + cp configs/x509.genkey certs/. %endif Arch=`head -1 .config | cut -b 3-` @@ -1676,7 +1686,7 @@ BuildKernel() { # hmac sign the kernel for FIPS echo "Creating hmac file: $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac" ls -l $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer - sha512hmac $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer | sed -e "s,$RPM_BUILD_ROOT,," > $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac; + (cd $RPM_BUILD_ROOT/%{image_install_path} && sha512hmac $InstallName-$KernelVer) > $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac; cp $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac $RPM_BUILD_ROOT/lib/modules/$KernelVer/.vmlinuz.hmac if [ $DoModules -eq 1 ]; then @@ -1825,6 +1835,14 @@ BuildKernel() { rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/tracing rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/spdxcheck.py +%ifarch s390x + # CONFIG_EXPOLINE_EXTERN=y produces arch/s390/lib/expoline/expoline.o + # which is needed during external module build. + if [ -f arch/s390/lib/expoline/expoline.o ]; then + cp -a --parents arch/s390/lib/expoline/expoline.o $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + fi +%endif + # Files for 'make scripts' to succeed with kernel-devel. mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/security/selinux/include cp -a --parents security/selinux/include/classmap.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build @@ -1930,12 +1948,11 @@ BuildKernel() { # Clean up intermediate tools files find $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} + - # Make sure the Makefile and version.h have a matching timestamp so that - # external modules can be built - touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/generated/uapi/linux/version.h - - # Copy .config to include/config/auto.conf so "make prepare" is unnecessary. - cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf + # Make sure the Makefile, version.h, and auto.conf have a matching + # timestamp so that external modules can be built + touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile \ + $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/generated/uapi/linux/version.h \ + $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf %if %{with_debuginfo} eu-readelf -n vmlinux | grep "Build ID" | awk '{print $NF}' > vmlinux.id @@ -2002,7 +2019,7 @@ BuildKernel() { remove_depmod_files # Identify modules in the kernel-modules-extras package - %{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer $RPM_SOURCE_DIR/mod-extra.list + %{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer $(realpath configs/mod-extra.list) # Identify modules in the kernel-modules-extras package %{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer %{SOURCE84} internal @@ -2013,6 +2030,7 @@ BuildKernel() { # Copy the System.map file for depmod to use, and create a backup of the # full module tree so we can restore it after we're done filtering cp System.map $RPM_BUILD_ROOT/. + cp configs/filter-*.sh $RPM_BUILD_ROOT/. pushd $RPM_BUILD_ROOT mkdir restore cp -r lib/modules/$KernelVer/* restore/. @@ -2027,7 +2045,6 @@ BuildKernel() { # modules lists. This actually removes anything going into -modules # from the dir. find lib/modules/$KernelVer/kernel -name *.ko | sort -n > modules.list - cp $RPM_SOURCE_DIR/filter-*.sh . ./filter-modules.sh modules.list %{_target_cpu} rm filter-*.sh @@ -2059,7 +2076,14 @@ BuildKernel() { # Cleanup rm System.map - cp -r restore/* lib/modules/$KernelVer/. + # Just "cp -r" can be very slow: here, it rewrites _existing files_ + # with open(O_TRUNC). Many filesystems synchronously wait for metadata + # update for such file rewrites (seen in strace as final close syscall + # taking a long time). On a rotational disk, cp was observed to take + # more than 5 minutes on ext4 and more than 15 minutes (!) on xfs. + # With --remove-destination, we avoid this, and copying + # (with enough RAM to cache it) takes 5 seconds: + cp -r --remove-destination restore/* lib/modules/$KernelVer/. rm -rf restore popd @@ -2192,7 +2216,7 @@ chmod +x tools/perf/check-headers.sh %endif %global tools_make \ - %{make} CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?make_opts} + CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{make} %{?make_opts} %if %{with_tools} %ifarch %{cpupowerarchs} @@ -2213,10 +2237,10 @@ chmod +x tools/power/cpupower/utils/version-gen.sh %{tools_make} popd pushd tools/power/x86/intel-speed-select - %{make} CFLAGS+="-D_GNU_SOURCE -Iinclude -I/usr/include/libnl3" + %{tools_make} popd pushd tools/arch/x86/intel_sdsi - %{tools_make} + %{tools_make} CFLAGS="${RPM_OPT_FLAGS}" popd %endif %endif @@ -2260,7 +2284,7 @@ if [ ! -f include/generated/autoconf.h ]; then %{make} %{?_smp_mflags} modules_prepare fi -%{make} %{?_smp_mflags} ARCH=$Arch V=1 M=samples/bpf/ VMLINUX_H="${RPM_VMLINUX_H}" +%{make} %{?_smp_mflags} ARCH=$Arch V=1 M=samples/bpf/ VMLINUX_H="${RPM_VMLINUX_H}" || true # Prevent bpf selftests to build bpftool repeatedly: export BPFTOOL=$(pwd)/tools/bpf/bpftool/bpftool @@ -2268,7 +2292,7 @@ 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 livepatch vm net net/forwarding net/mptcp netfilter tc-testing memfd" SKIP_TARGETS="" FORCE_TARGETS=1 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 memfd" SKIP_TARGETS="" FORCE_TARGETS=1 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. @@ -2323,7 +2347,7 @@ find Documentation -type d | xargs chmod u+w fi \ fi \ if [ "%{zipmodules}" -eq "1" ]; then \ - find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs -P%{zcpu} -r xz; \ + find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs -P${RPM_BUILD_NCPUS} -r xz; \ fi \ %{nil} @@ -2376,7 +2400,7 @@ find Documentation -type d | xargs chmod u+w cd linux-%{KVERREL} %if %{with_doc} -docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease} +docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease} # copy the source over mkdir -p $docdir @@ -2489,10 +2513,10 @@ install -m644 %{SOURCE2001} %{buildroot}%{_sysconfdir}/sysconfig/cpupower %{tools_make} DESTDIR=%{buildroot} install popd pushd tools/power/x86/intel-speed-select - %{tools_make} CFLAGS+="-D_GNU_SOURCE -Iinclude -I/usr/include/libnl3" DESTDIR=%{buildroot} install + %{tools_make} DESTDIR=%{buildroot} install popd pushd tools/arch/x86/intel_sdsi - %{tools_make} DESTDIR=%{buildroot} install + %{tools_make} CFLAGS="${RPM_OPT_FLAGS}" DESTDIR=%{buildroot} install popd %endif pushd tools/thermal/tmon @@ -2614,6 +2638,15 @@ popd ### %if %{with_tools} +%post -n kernel-tools +%systemd_post cpupower.service + +%preun -n kernel-tools +%systemd_preun cpupower.service + +%postun -n kernel-tools +%systemd_postun cpupower.service + %post -n kernel-tools-libs /sbin/ldconfig @@ -2628,6 +2661,10 @@ popd # a far more sophisticated hardlink implementation. # https://github.com/projectatomic/rpm-ostree/commit/58a79056a889be8814aa51f507b2c7a4dccee526 # +# The deletion of *.hardlink-temporary files is a temporary workaround +# for this bug in the hardlink binary (fixed in util-linux 2.38): +# https://github.com/util-linux/util-linux/issues/1602 +# %define kernel_devel_post() \ %{expand:%%post %{?1:%{1}-}devel}\ if [ -f /etc/sysconfig/kernel ]\ @@ -2639,7 +2676,9 @@ then\ (cd /usr/src/kernels/%{KVERREL}%{?1:+%{1}} &&\ /usr/bin/find . -type f | while read f; do\ hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f > /dev/null\ - done)\ + done;\ + /usr/bin/find /usr/src/kernels -type f -name '*.hardlink-temporary' -delete\ + )\ fi\ %if %{with_cross}\ echo "Building scripts"\ @@ -2802,9 +2841,9 @@ fi %if %{with_doc} %files doc %defattr(-,root,root) -%{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease}/Documentation/* -%dir %{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease}/Documentation -%dir %{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease} +%{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease}/Documentation/* +%dir %{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease}/Documentation +%dir %{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease} %endif %if %{with_perf} @@ -3018,6 +3057,432 @@ fi # # %changelog +* Mon Oct 03 2022 Frantisek Hrbata [5.14.0-172.el9] +- redhat/Makefile: Add DIST to git tags for RHEL (Prarit Bhargava) +- Revert "Split partner modules into a sub-package" (Prarit Bhargava) +- redhat: Remove filter-i686.sh.rhel (Prarit Bhargava) +- redhat/Makefile: Add RHEL specific message for BUILDID deprecation (Prarit Bhargava) +- redhat/Makefile: Set PATCHLIST_URL to none for RHEL/cs9 (Prarit Bhargava) +- redhat: remove GL_DISTGIT_USER, RHDISTGIT and unify dist-git cloning (Prarit Bhargava) +- redhat/Makefile: Always set UPSTREAM (Prarit Bhargava) +- redhat/Makefile.variables: Add ADD_COMMITID_TO_VERSION (Prarit Bhargava) +- kernel.spec: disable vmlinux.h generation for s390 zfcpdump config (Prarit Bhargava) +- Revert "Add rtla subpackage for kernel-tools" (Prarit Bhargava) +- Enable KUNIT tests for redhat kernel-modules-internal (Prarit Bhargava) +- Makefile: add kabi targets (Prarit Bhargava) +- kabi: add stablelist helpers (Prarit Bhargava) +- perf: Require libbpf 0.6.0 or newer (Prarit Bhargava) +- kabi: add support for symbol namespaces into check-kabi (Prarit Bhargava) +- kabi: ignore new stablelist metadata in show-kabi (Prarit Bhargava) +- Makefile: add dist-assert-tree-clean target (Prarit Bhargava) +- redhat: Use redhatsecureboot701 for ppc64le (Prarit Bhargava) +- redhat: workaround CKI cross compilation for scripts (Prarit Bhargava) +- crypto: fips - make proc files report fips module name and version (Prarit Bhargava) +- redhat/configs: Enable Marvell OcteonTX2 crypto device (Prarit Bhargava) +- redhat/kernel.spec.template: Specify vmlinux.h path when building samples/bpf (Prarit Bhargava) +- spec: Fix separate tools build (Prarit Bhargava) +- redhat: drop the RELEASED_KERNEL switch (Prarit Bhargava) +- redhat: switch the kernel package to use certs from system-sb-certs (Prarit Bhargava) +- redhat/scripts: Update merge-subtrees.sh with new subtree location (Prarit Bhargava) +- redhat/kernel.spec.template: enable dependencies generation (Prarit Bhargava) +- redhat: build and include memfd to kernel-selftests-internal (Prarit Bhargava) +- redhat/kernel.spec.template: Link perf with --export-dynamic (Prarit Bhargava) +- cifs: enable SMB_DIRECT in RHEL9 (Prarit Bhargava) +- redhat/Makefile.variables: Set INCLUDE_FEDORA_FILES to 0 (Prarit Bhargava) +- redhat: Remove fedora configs directories and files. (Prarit Bhargava) +- Revert "redhat: define _rhel variable because pesign macro now needs it" (Prarit Bhargava) +- redhat: switch secureboot kernel image signing to release keys (Prarit Bhargava) +- redhat: kernel.spec: selftests: abort on build failure (Prarit Bhargava) +- redhat: fix chronological order in the changelog file (Prarit Bhargava) +- redhat: replace redhatsecureboot303 signing key with redhatsecureboot601 (Prarit Bhargava) +- redhat: define _rhel variable because pesign macro now needs it (Prarit Bhargava) +- redhat: update branches/targets after 9 Beta fork (Prarit Bhargava) +- redhat: drop certificates that were deprecated after GRUB's BootHole flaw (Prarit Bhargava) +- redhat: correct file name of redhatsecurebootca1 (Prarit Bhargava) +- redhat: align file names with names of signing keys for ppc and s390 (Prarit Bhargava) +- redhat: update Makefile.variables for centos/rhel9 fork (Prarit Bhargava) +- redhat: make DIST default to .el9 (Prarit Bhargava) +- redhat/self-test: Fix shellcheck errors (Prarit Bhargava) +- redhat: change the changelog item for upstream merges (Prarit Bhargava) +- redhat/docs: Add dist-brew BUILD_FLAGS information (Prarit Bhargava) +- redhat: fix dist-release build number test (Prarit Bhargava) +- redhat: fix release number bump when dist-release-changed runs (Prarit Bhargava) +- redhat: use new genlog.sh script to detect changes for dist-release (Prarit Bhargava) +- redhat: move changelog addition to the spec file back into genspec.sh (Prarit Bhargava) +- redhat: always add a rebase entry when ark merges from upstream (Prarit Bhargava) +- redhat: drop merge ark patches hack (Prarit Bhargava) +- redhat: don't hardcode temporary changelog file (Prarit Bhargava) +- redhat: split changelog generation from genspec.sh (Prarit Bhargava) +- Add python3-setuptools buildreq for perf (Prarit Bhargava) +- Add cros_kunit to mod-internal.list (Prarit Bhargava) +- Add new tests to mod-internal.list (Prarit Bhargava) +- redhat/Makefile: Clean linux tarballs (Prarit Bhargava) +- redhat: properly handle binary files in patches (Prarit Bhargava) +- spec: add cpupower daemon reload on install/upgrade (Prarit Bhargava) +- redhat/configs: Fix rm warning on config warnings (Prarit Bhargava) +- redhat/Makefile: Deprecate PREBUILD_GIT_ONLY variable (Prarit Bhargava) +- redhat/Makefile: Deprecate SINGLE_TARBALL variable (Prarit Bhargava) +- redhat/Makefile: Deprecate GIT variable (Prarit Bhargava) +- omit unused Provides (Prarit Bhargava) +- self-test: Add test for DIST=".eln" (Prarit Bhargava) +- redhat/docs: Add information on build dependencies (Prarit Bhargava) +- redhat/Makefile: Add better pass message for dist-get-buildreqs (Prarit Bhargava) +- redhat/Makefile: Provide a better message for system-sb-certs (Prarit Bhargava) +- redhat/Makefile: Change dist-buildreq-check to a non-blocking target (Prarit Bhargava) +- create-data: Parallelize spec file data (Prarit Bhargava) +- create-data.sh: Store SOURCES Makefile variable (Prarit Bhargava) +- redhat/Makefile: Split up setup-source target (Prarit Bhargava) +- create-data.sh: Redefine varfilename (Prarit Bhargava) +- create-data.sh: Parallelize variable file creation (Prarit Bhargava) +- redhat/docs: Update brew information (Prarit Bhargava) +- redhat/Makefile: Fix eln BUILD_TARGET (Prarit Bhargava) +- redhat/Makefile: Set BUILD_TARGET for dist-brew (Prarit Bhargava) +- kernel.spec.template: update (s390x) expoline.o path (Prarit Bhargava) +- redhat/Makefile: Change fedora BUILD_TARGET (Prarit Bhargava) +- redhat: make kernel-zfcpdump-core to not provide kernel-core/kernel (Prarit Bhargava) +- redhat: Exclude cpufreq.h from kernel-headers (Prarit Bhargava) +- Add rtla subpackage for kernel-tools (Prarit Bhargava) +- redhat/Makefile: Deprecate BUILD_SCRATCH_TARGET (Prarit Bhargava) +- redhat/Makefile: Remove deprecated variables and targets (Prarit Bhargava) +- Split partner modules into a sub-package (Prarit Bhargava) +- Enable Marvell OcteonTX2 crypto device in ARK (Prarit Bhargava) +- redhat/Makefile: Remove --scratch from BUILD_TARGET (Prarit Bhargava) +- redhat/Makefile: Fix dist-brew and distg-brew targets (Prarit Bhargava) +- redhat/Makefile: Add SPECKABIVERSION variable (Prarit Bhargava) +- redhat/self-test: Provide better failure output (Prarit Bhargava) +- redhat/self-test: Reformat tests to kernel standard (Prarit Bhargava) +- redhat/self-test: Add purpose and header to each test (Prarit Bhargava) +- redhat/self-test: Update data set (Prarit Bhargava) +- create-data.sh: Reduce specfile data output (Prarit Bhargava) +- self-test: Fixup Makefile contents test (Prarit Bhargava) +- redhat/self-test: self-test data update (Prarit Bhargava) +- redhat/self-test: Fix up create-data.sh to not report local variables (Prarit Bhargava) +- redhat: change tools_make macro to avoid full override of variables in Makefile (Prarit Bhargava) +- Fix typo in Makefile for Fedora Stable Versioning (Prarit Bhargava) +- redhat/configs/README: Update the README (Prarit Bhargava) +- redhat/docs: fix hyperlink typo (Prarit Bhargava) +- redhat/docs: Add a description of kernel naming (Prarit Bhargava) +- redhat/kernel.spec.template: update selftest data via "make dist-self-test-data" (Prarit Bhargava) +- redhat/kernel.spec.template: remove stray *.hardlink-temporary files, if any (Prarit Bhargava) +- Fix versioning on stable Fedora (Prarit Bhargava) +- Revert "Merge branch 'fix-ci-20220523' into 'os-build'" (Prarit Bhargava) +- redhat/Makefile: Drop quotation marks around string definitions (Prarit Bhargava) +- redhat/self-test/data: Update data set (Prarit Bhargava) +- Revert variable switch for lasttag (Prarit Bhargava) +- redhat/self-test: Update data (Prarit Bhargava) +- redhat/self-test: Unset Makefile variables (Prarit Bhargava) +- redhat/self-test: Omit SHELL variable from test data (Prarit Bhargava) +- Update filter-modules for mlx5-vfio-pci (Prarit Bhargava) +- self-test/data/create-data.sh: Avoid SINGLE_TARBALL warning (Prarit Bhargava) +- redhat/Makefile: Rename PREBUILD to UPSTREAMBUILD (Prarit Bhargava) +- redhat/Makefile: Rename BUILDID to LOCALVERSION (Prarit Bhargava) +- redhat/Makefile: Fix dist-brew & distg-brew targets (Prarit Bhargava) +- redhat/Makefile: Reorganize MARKER code (Prarit Bhargava) +- redhat/scripts/new_release.sh: Use Makefile variables (Prarit Bhargava) +- redhat/Makefile: Rename __YSTREAM and __ZSTREAM (Prarit Bhargava) +- redhat/genspec.sh: Add comment about SPECBUILDID variable (Prarit Bhargava) +- redhat/kernel.spec.template: Move genspec variables into one section (Prarit Bhargava) +- redhat/kernel.spec.template: Remove kversion (Prarit Bhargava) +- redhat/Makefile: Add SPECTARFILE_RELEASE comment (Prarit Bhargava) +- redhat/Makefile: Rename RPMVERSION to BASEVERSION (Prarit Bhargava) +- redhat/Makefile: Target whitespace cleanup (Prarit Bhargava) +- redhat/Makefile: Move SPECRELEASE to genspec.sh (Prarit Bhargava) +- redhat/Makefile: Add kernel-NVR comment (Prarit Bhargava) +- redhat/Makefile: Use SPECFILE variable (Prarit Bhargava) +- redhat/Makefile: Remove KEXTRAVERSION (Prarit Bhargava) +- redhat: Enable VM kselftests (Prarit Bhargava) +- redhat: enable CONFIG_TEST_VMALLOC for vm selftests (Prarit Bhargava) +- redhat: Enable HMM test to be used by the kselftest test suite (Prarit Bhargava) +- redhat/Makefile.variables: Change git hash length to default (Prarit Bhargava) +- redhat/Makefile: Drop quotation marks around string definitions (Prarit Bhargava) +- redhat/configs: Fix rm warning on error (Prarit Bhargava) +- redhat/kernel.spec.template: fix standalone tools build (Prarit Bhargava) +- Add system-sb-certs for RHEL-9 (Prarit Bhargava) +- Fix dist-buildcheck-reqs (Prarit Bhargava) +- redhat: indicate HEAD state in tarball/rpm name (Prarit Bhargava) +- redhat/self-test: Add test to verify Makefile declarations. (Prarit Bhargava) +- redhat/Makefile: Add RHTEST (Prarit Bhargava) +- redhat: shellcheck cleanup (Prarit Bhargava) +- redhat/self-test/data: Cleanup data (Prarit Bhargava) +- redhat/self-test: Add test to verify SPEC variables (Prarit Bhargava) +- redhat/Makefile: Add 'duplicate' SPEC entries for user set variables (Prarit Bhargava) +- redhat/Makefile: Rename TARFILE_RELEASE to SPECTARFILE_RELEASE (Prarit Bhargava) +- redhat/genspec: Rename PATCHLIST_CHANGELOG to SPECPATCHLIST_CHANGELOG (Prarit Bhargava) +- redhat/genspec: Rename DEBUG_BUILDS_ENABLED to SPECDEBUG_BUILDS_ENABLED (Prarit Bhargava) +- redhat/Makefile: Rename PKGRELEASE to SPECBUILD (Prarit Bhargava) +- redhat/genspec: Rename BUILDID_DEFINE to SPECBUILDID (Prarit Bhargava) +- redhat/Makefile: Rename CHANGELOG to SPECCHANGELOG (Prarit Bhargava) +- redhat/Makefile: Rename RPMKEXTRAVERSION to SPECKEXTRAVERSION (Prarit Bhargava) +- redhat/Makefile: Rename RPMKSUBLEVEL to SPECKSUBLEVEL (Prarit Bhargava) +- redhat/Makefile: Rename RPMKPATCHLEVEL to SPECKPATCHLEVEL (Prarit Bhargava) +- redhat/Makefile: Rename RPMKVERSION to SPECKVERSION (Prarit Bhargava) +- redhat/Makefile: Rename KVERSION to SPECVERSION (Prarit Bhargava) +- redhat/Makefile: Deprecate some simple targets (Prarit Bhargava) +- redhat/Makefile: Use KVERSION (Prarit Bhargava) +- enable DAMON configs (Prarit Bhargava) +- redhat: change kabi tarballs to use the package release (Prarit Bhargava) +- redhat: generate distgit changelog in genspec.sh as well (Prarit Bhargava) +- redhat: make genspec prefer metadata from git notes (Prarit Bhargava) +- redhat: use tags from git notes for zstream to generate changelog (Prarit Bhargava) +- redhat/self-test: Clean up data set (Prarit Bhargava) +- redhat/Makefile.rhpkg: Remove quotes for RHDISTGIT (Prarit Bhargava) +- redhat/scripts/create-tarball.sh: Use Makefile variables (Prarit Bhargava) +- redhat/Makefile: Deprecate SINGLE_TARBALL (Prarit Bhargava) +- redhat/Makefile: Move SINGLE_TARBALL to Makefile.variables (Prarit Bhargava) +- redhat/Makefile: Use RPMVERSION (Prarit Bhargava) +- redhat/scripts/rh-dist-git.sh: Use Makefile variables (Prarit Bhargava) +- redhat/configs/build_configs.sh: Use Makefile variables (Prarit Bhargava) +- redhat/configs/process_configs.sh: Use Makefile variables (Prarit Bhargava) +- redhat/kernel.spec.template: Use RPM_BUILD_NCPUS (Prarit Bhargava) +- redhat/configs/generate_all_configs.sh: Use Makefile variables (Prarit Bhargava) +- redhat: ignore known empty patches on the patches rpminspect test (Prarit Bhargava) +- spec: keep .BTF section in modules for s390 (Prarit Bhargava) +- kernel.spec.template: Ship arch/s390/lib/expoline.o in kernel-devel (Prarit Bhargava) +- redhat/configs: enable CONFIG_SAMPLE_VFIO_MDEV_MTTY (Prarit Bhargava) +- Build intel_sdsi with %%{tools_make} (Prarit Bhargava) +- spec: make HMAC file encode relative path (Prarit Bhargava) +- redhat/kernel.spec.template: Add intel_sdsi utility (Prarit Bhargava) +- Spec fixes for intel-speed-select (Prarit Bhargava) +- Add clk_test and clk-gate_test to mod-internal.list (Prarit Bhargava) +- redhat/self-tests: Ignore UPSTREAM (Prarit Bhargava) +- redhat/self-tests: Ignore RHGITURL (Prarit Bhargava) +- redhat/Makefile.variables: Extend git hash length to 15 (Prarit Bhargava) +- redhat/self-test: Remove changelog from spec files (Prarit Bhargava) +- redhat/genspec.sh: Rearrange genspec.sh (Prarit Bhargava) +- redhat/self-test: Add spec file data (Prarit Bhargava) +- redhat/self-test: Add better dist-dump-variables test (Prarit Bhargava) +- redhat/self-test: Add variable test data (Prarit Bhargava) +- Avoid creating files in $RPM_SOURCE_DIR (Prarit Bhargava) +- redhat/configs/process_configs.sh: Avoid race with find (Prarit Bhargava) +- redhat/configs/process_configs.sh: Remove CONTINUEONERROR (Prarit Bhargava) +- Remove i686 configs and filters (Prarit Bhargava) +- redhat: Fix release tagging (Prarit Bhargava) +- redhat/self-test: Fix version tag test (Prarit Bhargava) +- redhat/self-test: Fix BUILD verification test (Prarit Bhargava) +- redhat/self-test: Cleanup SRPM related self-tests (Prarit Bhargava) +- redhat/self-test: Fix shellcheck test (Prarit Bhargava) +- redhat/README.Makefile: Add a Makefile README file (Prarit Bhargava) +- redhat/Makefile: Remove duplicated code (Prarit Bhargava) +- Add BuildRequires libnl3-devel for intel-speed-select (Prarit Bhargava) +- Add new kunit tests for 5.18 to mod-internal.list (Prarit Bhargava) +- Fix RHDISTGIT for Fedora (Prarit Bhargava) +- redhat/configs/process_configs.sh: Fix race with tools generation (Prarit Bhargava) +- Define SNAPSHOT correctly when VERSION_ON_UPSTREAM is 0 (Prarit Bhargava) +- redhat/Makefile: Fix dist-git (Prarit Bhargava) +- redhat/Makefile: Reorganize variables (Prarit Bhargava) +- redhat/Makefile: Add some descriptions (Prarit Bhargava) +- redhat/Makefile: Move SNAPSHOT check (Prarit Bhargava) +- redhat/Makefile: Deprecate BREW_FLAGS, KOJI_FLAGS, and TEST_FLAGS (Prarit Bhargava) +- redhat/genspec.sh: Rework RPMVERSION variable (Prarit Bhargava) +- redhat/Makefile: Remove dead comment (Prarit Bhargava) +- redhat/Makefile: Cleanup KABI* variables. (Prarit Bhargava) +- redhat/Makefile.variables: Default RHGITCOMMIT to HEAD (Prarit Bhargava) +- redhat/scripts/create-tarball.sh: Use Makefile TARBALL variable (Prarit Bhargava) +- redhat/Makefile: Remove extra DIST_BRANCH (Prarit Bhargava) +- redhat/Makefile: Remove STAMP_VERSION (Prarit Bhargava) +- redhat/Makefile: Move NO_CONFIGCHECKS to Makefile.variables (Prarit Bhargava) +- redhat/Makefile: Move RHJOBS to Makefile.variables (Prarit Bhargava) +- redhat/Makefile: Move RHGIT* variables to Makefile.variables (Prarit Bhargava) +- redhat/Makefile: Move PREBUILD_GIT_ONLY to Makefile.variables (Prarit Bhargava) +- redhat/Makefile: Move BUILD to Makefile.variables (Prarit Bhargava) +- redhat/Makefile: Move BUILD_FLAGS to Makefile.variables. (Prarit Bhargava) +- redhat/Makefile: Move BUILD_PROFILE to Makefile.variables (Prarit Bhargava) +- redhat/Makefile: Move BUILD_TARGET and BUILD_SCRATCH_TARGET to Makefile.variables (Prarit Bhargava) +- redhat/Makefile: Remove RHPRODUCT variable (Prarit Bhargava) +- redhat/Makefile: Cleanup DISTRO variable (Prarit Bhargava) +- redhat/Makefile: Move HEAD to Makefile.variables. (Prarit Bhargava) +- redhat: Combine Makefile and Makefile.common (Prarit Bhargava) +- redhat/koji/Makefile: Decouple koji Makefile from Makefile.common (Prarit Bhargava) +- Add asus_wmi_sensors modules to filters for Fedora (Prarit Bhargava) +- Update scripts to put new configs under ark-common (Prarit Bhargava) +- redhat: spec: trigger dracut when modules are installed separately (Prarit Bhargava) +- redhat/Makefile: Silence dist-clean-configs output (Prarit Bhargava) +- Print arch with process_configs errors (Prarit Bhargava) +- Pass RHJOBS to process_configs for dist-configs-check as well (Prarit Bhargava) +- redhat/configs/process_configs.sh: Fix issue with old error files (Prarit Bhargava) +- redhat/configs/build_configs.sh: Parallelize execution (Prarit Bhargava) +- redhat/configs/build_configs.sh: Provide better messages (Prarit Bhargava) +- redhat/configs/build_configs.sh: Create unique output files (Prarit Bhargava) +- redhat/configs/build_configs.sh: Add local variables (Prarit Bhargava) +- redhat/configs/process_configs.sh: Parallelize execution (Prarit Bhargava) +- redhat/configs/process_configs.sh: Provide better messages (Prarit Bhargava) +- redhat/configs/process_configs.sh: Create unique output files (Prarit Bhargava) +- redhat/configs/process_configs.sh: Add processing config function (Prarit Bhargava) +- redhat: Unify genspec.sh and kernel.spec variable names (Prarit Bhargava) +- redhat/genspec.sh: Remove options and use Makefile variables (Prarit Bhargava) +- Add rebase note for 5.17 on Fedora stable (Prarit Bhargava) +- redhat: Fix "make dist-release-finish" to use the correct NVR variables (Prarit Bhargava) +- Build CROS_EC Modules (Prarit Bhargava) +- redhat/Makefile: Fix dist-dump-variables target (Prarit Bhargava) +- configs/process_configs.sh: Remove orig files (Prarit Bhargava) +- redhat: fix make {distg-brew,distg-koji} (Prarit Bhargava) +- redhat/configs: Enable CONFIG_TEST_BPF (Prarit Bhargava) +- Enable KUNIT tests for testing (Prarit Bhargava) +- Makefile: Check PKGRELEASE size on dist-brew targets (Prarit Bhargava) +- kernel.spec: Add glibc-static build requirement (Prarit Bhargava) +- spec: don't overwrite auto.conf with .config (Prarit Bhargava) +- Add test_hash to the mod-internal.list (Prarit Bhargava) +- spec: speed up "cp -r" when it overwrites existing files. (Prarit Bhargava) +- redhat: use centos x509.genkey file if building under centos (Prarit Bhargava) +- Revert "[redhat] Generate a crashkernel.default for each kernel build" (Prarit Bhargava) +- spec: make linux-firmware weak(er) dependency (Prarit Bhargava) +- Add packaged but empty /lib/modules//systemtap/ (Prarit Bhargava) +- filter-modules.sh.rhel: Add ntc_thermistor to singlemods (Prarit Bhargava) +- Add dev_addr_lists_test to mod-internal.list (Prarit Bhargava) +- redhat: ignore ksamples and kselftests on the badfuncs rpminspect test (Prarit Bhargava) +- redhat: disable upstream check for rpminspect (Prarit Bhargava) +- redhat: Pull in openssl-devel as a build dependency correctly (Prarit Bhargava) +- Update rebase-notes with dracut 5.17 information (Prarit Bhargava) +- Enable CONFIG_CIFS_SMB_DIRECT for ARK (Prarit Bhargava) +- redhat: make Patchlist.changelog generation conditional (Prarit Bhargava) +- redhat/configs/evaluate_configs: Add find dead configs option (Prarit Bhargava) +- Add more rebase notes for Fedora 5.16 (Prarit Bhargava) +- spec: Keep .BTF section in modules (Prarit Bhargava) +- spec: add bpf_testmod.ko to kselftests/bpf (Prarit Bhargava) +- redhat/docs/index.rst: Add local build information. (Prarit Bhargava) +- Turn on CONFIG_HID_NINTENDO for controller support (Prarit Bhargava) +- Add rebase notes to check for PCI patches (Prarit Bhargava) +- Filter updates for hid-playstation on Fedora (Prarit Bhargava) +- Add nct6775 to filter-modules.sh.rhel (Prarit Bhargava) +- Add memcpy_kunit to mod-internal.list (Prarit Bhargava) +- Add nct6775 to Fedora filter-modules.sh (Prarit Bhargava) +- redhat/kernel.spec.template: don't hardcode gcov arches (Prarit Bhargava) +- redhat/configs: create a separate config for gcov options (Prarit Bhargava) +- Update documentation with FAQ and update frequency (Prarit Bhargava) +- Document force pull option for mirroring (Prarit Bhargava) +- Ignore the rhel9 kabi files (Prarit Bhargava) +- Remove legacy elrdy cruft (Prarit Bhargava) +- redhat/configs/evaluate_configs: walk cfgvariants line by line (Prarit Bhargava) +- redhat/configs/evaluate_configs: insert EMPTY tags at correct place (Prarit Bhargava) +- redhat: make dist-srpm-gcov add to BUILDOPTS (Prarit Bhargava) +- spec: Don't fail spec build if ksamples fails (Prarit Bhargava) +- redhat: Disable clang's integrated assembler on ppc64le and s390x (Prarit Bhargava) +- Fix dist-srpm-gcov (Prarit Bhargava) +- Add kfence_test to mod-internal.list (Prarit Bhargava) +- Enable KUNIT tests for redhat kernel-modules-internal (Prarit Bhargava) +- redhat: add *-matched meta packages to rpminspect emptyrpm config (Prarit Bhargava) +- redhat: fix typo and make the output more silent for dist-git sync (Prarit Bhargava) +- Fix ordering in genspec args (Prarit Bhargava) +- redhat/docs: update Koji link to avoid redirect (Prarit Bhargava) +- redhat: add support for different profiles with dist*-brew (Prarit Bhargava) +- redhat: move the DIST variable setting to Makefile.variables (Prarit Bhargava) +- redhat/kernel.spec.template: Cleanup source numbering (Prarit Bhargava) +- redhat/kernel.spec.template: Reorganize RHEL and Fedora specific files (Prarit Bhargava) +- redhat/kernel.spec.template: Add include_fedora and include_rhel variables (Prarit Bhargava) +- redhat/Makefile: Make kernel-local global (Prarit Bhargava) +- redhat/Makefile: Use flavors file (Prarit Bhargava) +- redhat: rename usage of .rhel8git.mk to .rhpkg.mk (Prarit Bhargava) +- redhat: remove kernel.changelog-8.99 file (Prarit Bhargava) +- redhat: add documentation about the os-build rebase process (Prarit Bhargava) +- Build kernel-doc for Fedora (Prarit Bhargava) +- Revert "redhat: set default values in Makefiles for RHEL 9 Beta" (Prarit Bhargava) +- Revert "redhat: make DIST default to .el9" (Prarit Bhargava) +- Revert "redhat: add support for stream profile in koji/brew" (Prarit Bhargava) +- Revert "redhat: update Makefile.variables for centos/rhel9 fork" (Prarit Bhargava) +- Revert "redhat: drop Patchlist.changelog for RHEL" (Prarit Bhargava) +- Revert "redhat: align file names with names of signing keys for ppc and s390" (Prarit Bhargava) +- Revert "redhat: correct file name of redhatsecurebootca1" (Prarit Bhargava) +- Revert "redhat: drop certificates that were deprecated after GRUB's BootHole flaw" (Prarit Bhargava) +- Revert "redhat: update branches/targets after 9 Beta fork" (Prarit Bhargava) +- Revert "redhat: define _rhel variable because pesign macro now needs it" (Prarit Bhargava) +- Revert "redhat: replace redhatsecureboot303 signing key with redhatsecureboot601" (Prarit Bhargava) +- Revert "redhat: add *-matched meta packages to rpminspect emptyrpm config" (Prarit Bhargava) +- Revert "redhat: add option to use DIST tag in sources" (Prarit Bhargava) +- Revert "redhat: set USE_DIST_IN_SOURCE=1 for 9.0-beta" (Prarit Bhargava) +- Revert "redhat: fix chronological order in the changelog file" (Prarit Bhargava) +- Revert "redhat: restore sublevel in changelog" (Prarit Bhargava) +- Revert "redhat: kernel.spec: selftests: abort on build failure" (Prarit Bhargava) +- Revert "redhat/.gitignore: Add rhel9 KABI files" (Prarit Bhargava) +- Revert "Revert "redhat: define _rhel variable because pesign macro now needs it"" (Prarit Bhargava) +- Revert "redhat/Makefile: Use flavors file" (Prarit Bhargava) +- Revert "redhat/Makefile: Make kernel-local global" (Prarit Bhargava) +- Revert "redhat/kernel.spec.template: Add include_fedora and include_rhel variables" (Prarit Bhargava) +- Revert "redhat/kernel.spec.template: Reorganize RHEL and Fedora specific files" (Prarit Bhargava) +- Revert "redhat/kernel.spec.template: Cleanup source numbering" (Prarit Bhargava) +- Revert "redhat: Remove fedora configs directories and files." (Prarit Bhargava) +- Revert "redhat/Makefile.variables: Set INCLUDE_FEDORA_FILES to 0" (Prarit Bhargava) +- Revert "redhat: BUILDID parameter must come last in genspec.sh" (Prarit Bhargava) +- Revert "kernel.spec: add bpf_testmod.ko to kselftests/bpf" (Prarit Bhargava) +- Revert "cifs: enable SMB_DIRECT in RHEL9" (Prarit Bhargava) +- Revert "redhat: Fix dist-srpm-gcov" (Prarit Bhargava) +- Revert "redhat: make dist-srpm-gcov add to BUILDOPTS" (Prarit Bhargava) +- Revert "redhat/kernel.spec.template: don't hardcode gcov arches" (Prarit Bhargava) +- Revert "redhat/configs: create a separate config for gcov options" (Prarit Bhargava) +- Revert "redhat/configs/evaluate_configs: walk cfgvariants line by line" (Prarit Bhargava) +- Revert "redhat/configs/evaluate_configs: insert EMPTY tags at correct place" (Prarit Bhargava) +- Revert "redhat: fix typo and make the output more silent for dist-git sync" (Prarit Bhargava) +- Revert "redhat/kernel.spec.template: Link perf with --export-dynamic" (Prarit Bhargava) +- Revert "redhat: build and include memfd to kernel-selftests-internal" (Prarit Bhargava) +- Revert "redhat/kernel.spec.template: enable dependencies generation" (Prarit Bhargava) +- Revert "redhat: disable upstream check for rpminspect" (Prarit Bhargava) +- Revert "redhat: ignore ksamples and kselftests on the badfuncs rpminspect test" (Prarit Bhargava) +- Revert "redhat: Pull in openssl-devel as a build dependency correctly" (Prarit Bhargava) +- Revert "Revert "[redhat] Generate a crashkernel.default for each kernel build"" (Prarit Bhargava) +- Revert "redhat/configs/evaluate_configs: Add find dead configs option" (Prarit Bhargava) +- Revert "redhat/scripts: Update merge-subtrees.sh with new subtree location" (Prarit Bhargava) +- Revert "redhat: make pathspec exclusion compatible with old git versions" (Prarit Bhargava) +- Revert "Add packaged but empty /lib/modules//systemtap" (Prarit Bhargava) +- Revert "redhat: use centos x509.genkey file if building under centos" (Prarit Bhargava) +- Revert "redhat: fix the exclusion of rhdocs changes entries in the changelog" (Prarit Bhargava) +- Revert "redhat: switch the kernel package to use certs from system-sb-certs" (Prarit Bhargava) +- Revert "redhat: drop the RELEASED_KERNEL switch" (Prarit Bhargava) +- Revert "Enable KUNIT tests for redhat kernel-modules-internal" (Prarit Bhargava) +- Revert "redhat/configs: Enable CONFIG_TEST_BPF" (Prarit Bhargava) +- Revert "spec: Fix separate tools build" (Prarit Bhargava) +- Revert "kernel.spec: Add glibc-static build requirement" (Prarit Bhargava) +- Revert "spec: make linux-firmware weak(er) dependency" (Prarit Bhargava) +- Revert "redhat: use tags from git notes for zstream to generate changelog" (Prarit Bhargava) +- Revert "redhat: make genspec prefer metadata from git notes" (Prarit Bhargava) +- Revert "redhat: generate distgit changelog in genspec.sh as well" (Prarit Bhargava) +- Revert "redhat: change kabi tarballs to use the package release" (Prarit Bhargava) +- Revert "redhat: rpminspect: disable 'patches' check for known empty patch files" (Prarit Bhargava) +- Revert "redhat: spec: trigger dracut when modules are installed separately" (Prarit Bhargava) +- Revert "redhat/configs/process_configs.sh: Add processing config function" (Prarit Bhargava) +- Revert "redhat/configs/process_configs.sh: Create unique output files" (Prarit Bhargava) +- Revert "redhat/configs/process_configs.sh: Provide better messages" (Prarit Bhargava) +- Revert "redhat/configs/process_configs.sh: Parallelize execution" (Prarit Bhargava) +- Revert "redhat/configs/build_configs.sh: Add local variables" (Prarit Bhargava) +- Revert "redhat/configs/build_configs.sh: Create unique output files" (Prarit Bhargava) +- Revert "redhat/configs/build_configs.sh: Provide better messages" (Prarit Bhargava) +- Revert "redhat/configs/build_configs.sh: Parallelize execution" (Prarit Bhargava) +- Revert "redhat/configs/process_configs.sh: Fix issue with old error files" (Prarit Bhargava) +- Revert "Pass RHJOBS to process_configs for dist-configs-check as well" (Prarit Bhargava) +- Revert "Print arch with process_configs errors" (Prarit Bhargava) +- Revert "redhat/Makefile: Silence dist-clean-configs output" (Prarit Bhargava) +- Revert "redhat/configs/process_configs.sh: Fix race with tools generation" (Prarit Bhargava) +- Revert "redhat/configs/process_configs.sh: Remove CONTINUEONERROR" (Prarit Bhargava) +- Revert "redhat/configs/process_configs.sh: Avoid race with find" (Prarit Bhargava) +- Revert "redhat/Makefile: Fix dist-dump-variables target" (Prarit Bhargava) +- Revert "redhat: fix make {distg-brew,distg-koji}" (Prarit Bhargava) +- Revert "redhat/koji/Makefile: Decouple koji Makefile from Makefile.common" (Prarit Bhargava) +- Revert "redhat/kernel.spec.template: Add intel_sdsi utility" (Prarit Bhargava) +- Revert "Build intel_sdsi with %%{tools_make}" (Prarit Bhargava) +- Revert "Add BuildRequires libnl3-devel for intel-speed-select" (Prarit Bhargava) +- Revert "Spec fixes for intel-speed-select" (Prarit Bhargava) +- Revert "redhat: enable CONFIG_TEST_VMALLOC for vm selftests" (Prarit Bhargava) +- Revert "redhat: Enable HMM test to be used by the kselftest test suite" (Prarit Bhargava) +- Revert "redhat: Enable VM kselftests" (Prarit Bhargava) +- Revert "redhat/kernel.spec.template: Specify vmlinux.h path when building samples/bpf" (Prarit Bhargava) +- Revert "redhat/kernel.spec.template: fix standalone tools build" (Prarit Bhargava) +- Revert "redhat/configs: enable CONFIG_SAMPLE_VFIO_MDEV_MTTY" (Prarit Bhargava) +- Revert "redhat: Exclude cpufreq.h from kernel-headers" (Prarit Bhargava) +- Revert "kernel.spec: disable vmlinux.h generation for s390 zfcpdump config" (Prarit Bhargava) +- Revert "spec: Keep .BTF section in modules" (Prarit Bhargava) +- Revert "redhat/configs: Enable Marvell OcteonTX2 crypto device" (Prarit Bhargava) +- Revert "redhat: make kernel-zfcpdump-core to not provide kernel-core/kernel" (Prarit Bhargava) +- Revert "crypto: fips - make proc files report fips module name and version" (Prarit Bhargava) +- Revert "redhat: fix kernel_variant_package option definition" (Prarit Bhargava) +- Revert "redhat: workaround CKI cross compilation for scripts" (Prarit Bhargava) +- Revert "redhat: Use redhatsecureboot701 for ppc64le" (Prarit Bhargava) +- Revert "[redhat] Makefile: add dist-assert-tree-clean target" (Prarit Bhargava) +- Revert "[redhat] Makefile.common: export REDHAT variable" (Prarit Bhargava) +- Revert "[redhat] kabi: ignore new stablelist metadata in show-kabi" (Prarit Bhargava) +- Revert "[redhat] kabi: add support for symbol namespaces into check-kabi" (Prarit Bhargava) +- Revert "[redhat] perf: Require libbpf 0.6.0 or newer" (Prarit Bhargava) +- Revert "[redhat] kabi: add stablelist helpers" (Prarit Bhargava) +- Revert "[redhat] Makefile: add kabi targets" (Prarit Bhargava) +- Revert "redhat: remove GL_DISTGIT_USER, RHDISTGIT and unify dist-git cloning" (Prarit Bhargava) + * Sat Oct 01 2022 Frantisek Hrbata [5.14.0-171.el9] - irqchip/qcom-pdc: Drop open coded version of __assign_bit() (Eric Chanudet) [2105098] - irqchip/qcom-pdc: Fix broken locking (Eric Chanudet) [2105098] diff --git a/mod-internal.list b/mod-internal.list index f495b7f..971338c 100644 --- a/mod-internal.list +++ b/mod-internal.list @@ -23,6 +23,9 @@ rational-test test_list_sort slub_kunit memcpy_kunit +dev_addr_lists_test +kfence_test +test_hash locktorture mac80211_hwsim netdevsim @@ -30,7 +33,6 @@ pktgen rcutorture rocker scftorture -test_bpf test_klp_atomic_replace test_klp_callbacks_demo test_klp_callbacks_demo2 @@ -44,6 +46,18 @@ test_klp_state3 torture refscale rcuscale -test_vmalloc -test_hmm +memcpy_kunit +dev_addr_lists_test +test_hash +test_bpf +stackinit_kunit +overflow_kunit +clk-gate_test +clk_test mtty +test_hmm +test_vmalloc +test_cpumask +iio-test-format +iio-test-rescale +cros_kunit diff --git a/filter-i686.sh.rhel b/patch-5.14-redhat.patch similarity index 100% rename from filter-i686.sh.rhel rename to patch-5.14-redhat.patch diff --git a/patch-5.14.0-redhat.patch b/patch-5.14.0-redhat.patch deleted file mode 100644 index e69de29..0000000 diff --git a/process_configs.sh b/process_configs.sh index da5d18d..dd134a5 100755 --- a/process_configs.sh +++ b/process_configs.sh @@ -6,6 +6,8 @@ # Globally disable suggestion of appending '|| exit' or '|| return' to cd/pushd/popd commands # shellcheck disable=SC2164 +test -n "$RHTEST" && exit 0 + usage() { # alphabetical order please @@ -85,10 +87,10 @@ checkoptions() print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree"; } } - ' "$1" "$2" > .mismatches${count} + ' "$1" "$2" > .mismatches"${count}" checkoptions_error=false - if test -s .mismatches${count} + if test -s .mismatches"${count}" then while read -r LINE do @@ -100,13 +102,13 @@ checkoptions() checkoptions_error=true break fi - done < .mismatches${count} + done < .mismatches"${count}" ! $checkoptions_error && return - sed -i "1s/^/Error: Mismatches found in configuration files for ${arch} ${variant}\n/" .mismatches${count} + sed -i "1s/^/Error: Mismatches found in configuration files for ${arch} ${variant}\n/" .mismatches"${count}" else - rm -f .mismatches${count} + rm -f .mismatches"${count}" fi } @@ -191,7 +193,7 @@ function commit_new_configs() # assume we are in $source_tree/configs, need to get to top level pushd "$(switch_to_toplevel)" &>/dev/null - for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}"*.config + for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}"*.config do arch=$(head -1 "$cfg" | cut -b 3-) cfgtmp="${cfg}.tmp" @@ -205,11 +207,13 @@ function commit_new_configs() fi echo -n "Checking for new configs in $cfg ... " - make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig + # shellcheck disable=SC2086 + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig grep -E 'CONFIG_' .listnewconfig > .newoptions if test -s .newoptions then - make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig + # shellcheck disable=SC2086 + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig parsenewconfigs fi rm .newoptions @@ -248,29 +252,30 @@ function process_config() echo "Processing $cfg ... " - make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig${count} - grep -E 'CONFIG_' .listnewconfig${count} > .newoptions${count} - if test -n "$NEWOPTIONS" && test -s .newoptions${count} + # shellcheck disable=SC2086 + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig"${count}" + grep -E 'CONFIG_' .listnewconfig"${count}" > .newoptions"${count}" + if test -n "$NEWOPTIONS" && test -s .newoptions"${count}" then - echo "Found unset config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors${count} - cat .newoptions${count} >> .errors${count} - rm .newoptions${count} + echo "Found unset config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors"${count}" + cat .newoptions"${count}" >> .errors"${count}" + rm .newoptions"${count}" RETURNCODE=1 fi - rm .newoptions${count} + rm -f .newoptions"${count}" - grep -E 'config.*warning' .listnewconfig${count} > .warnings${count} - if test -n "$CHECKWARNINGS" && test -s .warnings${count} + grep -E 'config.*warning' .listnewconfig"${count}" > .warnings"${count}" + if test -n "$CHECKWARNINGS" && test -s .warnings"${count}" then - echo "Found misconfigured config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors${count} - cat .warnings${count} >> .errors${count} - rm .warnings${count} + echo "Found misconfigured config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors"${count}" + cat .warnings"${count}" >> .errors"${count}" fi - rm .warnings${count} + rm .warnings"${count}" - rm .listnewconfig${count} + rm .listnewconfig"${count}" - make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1 + # shellcheck disable=SC2086 + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1 echo "# $arch" > "$cfgtmp" cat "$cfgorig" >> "$cfgtmp" if test -n "$CHECKOPTIONS" @@ -299,7 +304,7 @@ function process_configs() [ -f .mismatches ] && rm -f .mismatches count=0 - for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}"*.config + for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}"*.config do if [ "$count" -eq 0 ]; then # do the first one by itself so that tools are built @@ -308,7 +313,7 @@ function process_configs() process_config "$cfg" "$count" & waitpids[${count}]=$! ((count++)) - while [ "$(jobs | grep Running | wc -l)" -ge $RHJOBS ]; do :; done + while [ "$(jobs | grep -c Running)" -ge "$RHJOBS" ]; do :; done done for pid in ${waitpids[*]}; do wait ${pid} @@ -370,7 +375,7 @@ do ;; -m) shift - if [ "$1" = "CC=clang" -o "$1" = "LLVM=1" ]; then + if [ "$1" = "CC=clang" ] || [ "$1" = "LLVM=1" ]; then CC_IS_CLANG=1 fi MAKEOPTS="$MAKEOPTS $1" @@ -381,19 +386,16 @@ do shift done -PACKAGE_NAME="${1:-kernel}" # defines the package name used -KVERREL="$(test -n "$2" && echo "-$2" || echo "")" -SUBARCH="$(test -n "$3" && echo "-$3" || echo "")" -FLAVOR="$(test -n "$4" && echo "-$4" || echo "-common")" -RHJOBS="$(test -n "$5" && echo "$5" || nproc --all)" +KVERREL="$(test -n "$1" && echo "-$1" || echo "")" +FLAVOR="$(test -n "$2" && echo "-$2" || echo "-ark")" +# shellcheck disable=SC2015 SCRIPT=$(readlink -f "$0") SCRIPT_DIR=$(dirname "$SCRIPT") -# Most RHEL options are options we want in Fedora so RHEL pending settings head -# to common/ +# Config options for RHEL should target the pending-ark directory, not pending-common. if [ "$FLAVOR" = "-rhel" ] then - FLAVOR="-common" + FLAVOR="-ark" fi # to handle this script being a symlink diff --git a/rpminspect.yaml b/rpminspect.yaml index 727e877..6c17a9e 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -23,4 +23,4 @@ emptyrpm: patches: ignore_list: - linux-kernel-test.patch - - patch-5.14.0-redhat.patch + - patch-5.14-redhat.patch diff --git a/sources b/sources index 59bdeb0..f87ac1d 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-5.14.0-171.el9.tar.xz) = 87671a9e9ba87784275b1867831f877d019a6a1a3151e1d0f5bb92cfe5a7f9b60770b46a4d311bdd96bd4e0d0e2fe6892f16ff91f1de1381a6aa06a1fa790843 -SHA512 (kernel-abi-stablelists-5.14.0-171.el9.tar.bz2) = e9020e2c594a8ebaa4bfa5510560c9a65c102b1f7bc77c73496fb2b91acb775a7154aa036ea05d7bde2634143641a5de10495ca0a08ae50817f4455b8092b7c2 -SHA512 (kernel-kabi-dw-5.14.0-171.el9.tar.bz2) = 74b3c5b16232bc10cbf8b6f5fb277f8908eba4a6ef0d608b1c13423730dc3d61f22f2f703a568be5a5a93b1bdc73a48ceaa2daa04764115d1ef4efd07b243a91 +SHA512 (linux-5.14.0-172.el9.tar.xz) = 1998ffe244300ca78eda357c29b725f28eb30be4fc173982a26805f87c65f26a0c626747f4aa0d835bc203d262ce12756399b1a48fb04c75727af2a9392d39ce +SHA512 (kernel-abi-stablelists-5.14.0-172.el9.tar.bz2) = 020e8ca2b67e2e099e9f263dca1536cb2c333f1f4a4029a4399e5361bb8464b4ea76cd234c1b6e4fcf7ff9603a5cdb558a2a9be0505b8926518b0899c9444f5d +SHA512 (kernel-kabi-dw-5.14.0-172.el9.tar.bz2) = 3aff600593afa35e89015dec9a1391df3f6126d9f2d1c5daa15db2745d053aec470dab2772559e73b07c21af77c0f43ec560529a2e65086d7d9c0ff7dddf4c5b diff --git a/update_scripts.sh b/update_scripts.sh index 9196e79..38e6634 100755 --- a/update_scripts.sh +++ b/update_scripts.sh @@ -8,5 +8,5 @@ TARGET="$1" for i in "$RPM_SOURCE_DIR"/*."$TARGET"; do NEW=${i%.$TARGET} - cp "$i" "$NEW" + cp "$i" "$(basename "$NEW")" done