kernel-6.8.0-0.rc6.20240229git805d849d7c3c.51
* Thu Feb 29 2024 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.8.0-0.rc6.805d849d7c3c.51] - gitlab-ci: fix merge tree URL for gating pipelines (Michael Hofmann) - Revert "net: bump CONFIG_MAX_SKB_FRAGS to 45" (Marcelo Ricardo Leitner) - uki: use systemd-pcrphase dracut module (Gerd Hoffmann) - Add libperf-debuginfo subpackage (Justin M. Forbes) - redhat/kernel.spec.template: Add log_msg macro (Prarit Bhargava) - Linux v6.8.0-0.rc6.805d849d7c3c Resolves: Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
This commit is contained in:
parent
af24b5dbb7
commit
b9352d952c
|
@ -12,7 +12,7 @@ dracutmodules+=" base systemd systemd-initrd dracut-systemd dbus dbus-broker usr
|
||||||
dracutmodules+=" dm lvm rootfs-block fs-lib "
|
dracutmodules+=" dm lvm rootfs-block fs-lib "
|
||||||
|
|
||||||
# modules: tpm and crypto
|
# modules: tpm and crypto
|
||||||
dracutmodules+=" crypt crypt-loop tpm2-tss "
|
dracutmodules+=" crypt crypt-loop tpm2-tss systemd-pcrphase "
|
||||||
|
|
||||||
# modules: support root on virtiofs
|
# modules: support root on virtiofs
|
||||||
dracutmodules+=" virtiofs "
|
dracutmodules+=" virtiofs "
|
||||||
|
@ -36,6 +36,3 @@ drivers+=" dm_crypt "
|
||||||
|
|
||||||
# filesystems
|
# filesystems
|
||||||
filesystems+=" vfat ext4 xfs overlay "
|
filesystems+=" vfat ext4 xfs overlay "
|
||||||
|
|
||||||
# systemd-pcrphase
|
|
||||||
install_items+=" /lib/systemd/system/systemd-pcrphase-initrd.service /usr/lib/systemd/systemd-pcrphase /usr/lib/systemd/system/initrd.target.wants/systemd-pcrphase-initrd.service "
|
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
* Wed Feb 28 2024 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.8.0-0.rc6.cf1182944c7c.51]
|
* Thu Feb 29 2024 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.8.0-0.rc6.805d849d7c3c.51]
|
||||||
|
- gitlab-ci: fix merge tree URL for gating pipelines (Michael Hofmann)
|
||||||
- Revert "net: bump CONFIG_MAX_SKB_FRAGS to 45" (Marcelo Ricardo Leitner)
|
- Revert "net: bump CONFIG_MAX_SKB_FRAGS to 45" (Marcelo Ricardo Leitner)
|
||||||
|
- uki: use systemd-pcrphase dracut module (Gerd Hoffmann)
|
||||||
- Add libperf-debuginfo subpackage (Justin M. Forbes)
|
- Add libperf-debuginfo subpackage (Justin M. Forbes)
|
||||||
|
- redhat/kernel.spec.template: Add log_msg macro (Prarit Bhargava)
|
||||||
|
- Linux v6.8.0-0.rc6.805d849d7c3c
|
||||||
Resolves:
|
Resolves:
|
||||||
|
|
||||||
* Wed Feb 28 2024 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.8.0-0.rc6.cf1182944c7c.50]
|
* Wed Feb 28 2024 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.8.0-0.rc6.cf1182944c7c.50]
|
||||||
|
|
175
kernel.spec
175
kernel.spec
|
@ -163,13 +163,13 @@ Summary: The Linux kernel
|
||||||
%define specrpmversion 6.8.0
|
%define specrpmversion 6.8.0
|
||||||
%define specversion 6.8.0
|
%define specversion 6.8.0
|
||||||
%define patchversion 6.8
|
%define patchversion 6.8
|
||||||
%define pkgrelease 0.rc6.20240228gitcf1182944c7c.51
|
%define pkgrelease 0.rc6.20240229git805d849d7c3c.51
|
||||||
%define kversion 6
|
%define kversion 6
|
||||||
%define tarfile_release 6.8-rc6-21-gcf1182944c7c
|
%define tarfile_release 6.8-rc6-37-g805d849d7c3c
|
||||||
# This is needed to do merge window version magic
|
# This is needed to do merge window version magic
|
||||||
%define patchlevel 8
|
%define patchlevel 8
|
||||||
# This allows pkg_release to have configurable %%{?dist} tag
|
# This allows pkg_release to have configurable %%{?dist} tag
|
||||||
%define specrelease 0.rc6.20240228gitcf1182944c7c.51%{?buildid}%{?dist}
|
%define specrelease 0.rc6.20240229git805d849d7c3c.51%{?buildid}%{?dist}
|
||||||
# This defines the kabi tarball version
|
# This defines the kabi tarball version
|
||||||
%define kabiversion 6.8.0
|
%define kabiversion 6.8.0
|
||||||
|
|
||||||
|
@ -1724,11 +1724,20 @@ Prebuilt 64k unified kernel image for virtual machines.
|
||||||
%kernel_ipaclones_package
|
%kernel_ipaclones_package
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%define log_msg() set +x \
|
||||||
|
_log_msglineno=$(grep -n %{*} %{_specdir}/${RPM_PACKAGE_NAME}.spec | grep log_msg | cut -d":" -f1) \
|
||||||
|
echo "kernel.spec:${_log_msglineno}: %{*}" \
|
||||||
|
set -x
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
%{log_msg "Start of prep stage"}
|
||||||
|
|
||||||
|
%{log_msg "Sanity checks"}
|
||||||
|
|
||||||
# do a few sanity-checks for --with *only builds
|
# do a few sanity-checks for --with *only builds
|
||||||
%if %{with_baseonly}
|
%if %{with_baseonly}
|
||||||
%if !%{with_up}
|
%if !%{with_up}
|
||||||
echo "Cannot build --with baseonly, up build is disabled"
|
%{log_msg "Cannot build --with baseonly, up build is disabled"}
|
||||||
exit 1
|
exit 1
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
@ -1737,7 +1746,7 @@ exit 1
|
||||||
if [ "%{patches}" != "%%{patches}" ] ; then
|
if [ "%{patches}" != "%%{patches}" ] ; then
|
||||||
for patch in %{patches} ; do
|
for patch in %{patches} ; do
|
||||||
if [ ! -f $patch ] ; then
|
if [ ! -f $patch ] ; then
|
||||||
echo "ERROR: Patch ${patch##/*/} listed in specfile but is missing"
|
%{log_msg "ERROR: Patch ${patch##/*/} listed in specfile but is missing"}
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -1753,7 +1762,7 @@ ApplyPatch()
|
||||||
fi
|
fi
|
||||||
if ! grep -E "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME}.spec ; then
|
if ! grep -E "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME}.spec ; then
|
||||||
if [ "${patch:0:8}" != "patch-%{kversion}." ] ; then
|
if [ "${patch:0:8}" != "patch-%{kversion}." ] ; then
|
||||||
echo "ERROR: Patch $patch not listed as a source patch in specfile"
|
%{log_msg "ERROR: Patch $patch not listed as a source patch in specfile"}
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi 2>/dev/null
|
fi 2>/dev/null
|
||||||
|
@ -1770,6 +1779,7 @@ ApplyOptionalPatch()
|
||||||
{
|
{
|
||||||
local patch=$1
|
local patch=$1
|
||||||
shift
|
shift
|
||||||
|
%{log_msg "ApplyOptionalPatch: $1"}
|
||||||
if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
|
if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -1779,12 +1789,14 @@ ApplyOptionalPatch()
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%{log_msg "Untar kernel tarball"}
|
||||||
%setup -q -n kernel-%{tarfile_release} -c
|
%setup -q -n kernel-%{tarfile_release} -c
|
||||||
mv linux-%{tarfile_release} linux-%{KVERREL}
|
mv linux-%{tarfile_release} linux-%{KVERREL}
|
||||||
|
|
||||||
cd linux-%{KVERREL}
|
cd linux-%{KVERREL}
|
||||||
cp -a %{SOURCE1} .
|
cp -a %{SOURCE1} .
|
||||||
|
|
||||||
|
%{log_msg "Start of patch applications"}
|
||||||
%if !%{nopatches}
|
%if !%{nopatches}
|
||||||
|
|
||||||
ApplyOptionalPatch patch-%{patchversion}-redhat.patch
|
ApplyOptionalPatch patch-%{patchversion}-redhat.patch
|
||||||
|
@ -1792,10 +1804,11 @@ ApplyOptionalPatch patch-%{patchversion}-redhat.patch
|
||||||
|
|
||||||
ApplyOptionalPatch linux-kernel-test.patch
|
ApplyOptionalPatch linux-kernel-test.patch
|
||||||
|
|
||||||
|
%{log_msg "End of patch applications"}
|
||||||
# END OF PATCH APPLICATIONS
|
# END OF PATCH APPLICATIONS
|
||||||
|
|
||||||
# Any further pre-build tree manipulations happen here.
|
# Any further pre-build tree manipulations happen here.
|
||||||
|
%{log_msg "Pre-build tree manipulations"}
|
||||||
chmod +x scripts/checkpatch.pl
|
chmod +x scripts/checkpatch.pl
|
||||||
mv COPYING COPYING-%{specrpmversion}-%{release}
|
mv COPYING COPYING-%{specrpmversion}-%{release}
|
||||||
|
|
||||||
|
@ -1810,7 +1823,7 @@ rm -f localversion-next
|
||||||
# This fixes errors such as
|
# This fixes errors such as
|
||||||
# *** ERROR: ambiguous python shebang in /usr/bin/kvm_stat: #!/usr/bin/python. Change it to python3 (or python2) explicitly.
|
# *** ERROR: ambiguous python shebang in /usr/bin/kvm_stat: #!/usr/bin/python. Change it to python3 (or python2) explicitly.
|
||||||
# We patch all sources below for which we got a report/error.
|
# We patch all sources below for which we got a report/error.
|
||||||
echo "Fixing Python shebangs..."
|
%{log_msg "Fixing Python shebangs..."}
|
||||||
%py3_shebang_fix \
|
%py3_shebang_fix \
|
||||||
tools/kvm/kvm_stat/kvm_stat \
|
tools/kvm/kvm_stat/kvm_stat \
|
||||||
scripts/show_delta \
|
scripts/show_delta \
|
||||||
|
@ -1830,6 +1843,7 @@ fi
|
||||||
mkdir configs
|
mkdir configs
|
||||||
cd configs
|
cd configs
|
||||||
|
|
||||||
|
%{log_msg "Copy additional source files into buildroot"}
|
||||||
# Drop some necessary files from the source dir into the buildroot
|
# Drop some necessary files from the source dir into the buildroot
|
||||||
cp $RPM_SOURCE_DIR/%{name}-*.config .
|
cp $RPM_SOURCE_DIR/%{name}-*.config .
|
||||||
cp %{SOURCE80} .
|
cp %{SOURCE80} .
|
||||||
|
@ -1841,6 +1855,7 @@ cp %{SOURCE3001} partial-kernel-local-debug-snip.config
|
||||||
FLAVOR=%{primary_target} SPECPACKAGE_NAME=%{name} SPECVERSION=%{specversion} SPECRPMVERSION=%{specrpmversion} ./generate_all_configs.sh %{debugbuildsenabled}
|
FLAVOR=%{primary_target} SPECPACKAGE_NAME=%{name} SPECVERSION=%{specversion} SPECRPMVERSION=%{specrpmversion} ./generate_all_configs.sh %{debugbuildsenabled}
|
||||||
|
|
||||||
# Collect custom defined config options
|
# Collect custom defined config options
|
||||||
|
%{log_msg "Collect custom defined config options"}
|
||||||
PARTIAL_CONFIGS=""
|
PARTIAL_CONFIGS=""
|
||||||
%if %{with_gcov}
|
%if %{with_gcov}
|
||||||
PARTIAL_CONFIGS="$PARTIAL_CONFIGS %{SOURCE70} %{SOURCE71}"
|
PARTIAL_CONFIGS="$PARTIAL_CONFIGS %{SOURCE70} %{SOURCE71}"
|
||||||
|
@ -1866,6 +1881,7 @@ GetArch()
|
||||||
}
|
}
|
||||||
|
|
||||||
# Merge in any user-provided local config option changes
|
# Merge in any user-provided local config option changes
|
||||||
|
%{log_msg "Merge in any user-provided local config option changes"}
|
||||||
%ifnarch %nobuildarches
|
%ifnarch %nobuildarches
|
||||||
for i in %{all_configs}
|
for i in %{all_configs}
|
||||||
do
|
do
|
||||||
|
@ -1890,6 +1906,7 @@ done
|
||||||
|
|
||||||
# Add DUP and kpatch certificates to system trusted keys for RHEL
|
# Add DUP and kpatch certificates to system trusted keys for RHEL
|
||||||
%if 0%{?rhel}
|
%if 0%{?rhel}
|
||||||
|
%{log_msg "Add DUP and kpatch certificates to system trusted keys for RHEL"}
|
||||||
%if %{signkernel}%{signmodules}
|
%if %{signkernel}%{signmodules}
|
||||||
openssl x509 -inform der -in %{SOURCE100} -out rheldup3.pem
|
openssl x509 -inform der -in %{SOURCE100} -out rheldup3.pem
|
||||||
openssl x509 -inform der -in %{SOURCE101} -out rhelkpatch1.pem
|
openssl x509 -inform der -in %{SOURCE101} -out rhelkpatch1.pem
|
||||||
|
@ -1907,11 +1924,13 @@ done
|
||||||
|
|
||||||
# Adjust FIPS module name for RHEL
|
# Adjust FIPS module name for RHEL
|
||||||
%if 0%{?rhel}
|
%if 0%{?rhel}
|
||||||
|
%{log_msg "Adjust FIPS module name for RHEL"}
|
||||||
for i in *.config; do
|
for i in *.config; do
|
||||||
sed -i 's/CONFIG_CRYPTO_FIPS_NAME=.*/CONFIG_CRYPTO_FIPS_NAME="Red Hat Enterprise Linux %{rhel} - Kernel Cryptographic API"/' $i
|
sed -i 's/CONFIG_CRYPTO_FIPS_NAME=.*/CONFIG_CRYPTO_FIPS_NAME="Red Hat Enterprise Linux %{rhel} - Kernel Cryptographic API"/' $i
|
||||||
done
|
done
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{log_msg "Set process_configs.sh $OPTS"}
|
||||||
cp %{SOURCE81} .
|
cp %{SOURCE81} .
|
||||||
OPTS=""
|
OPTS=""
|
||||||
%if %{with_configchecks}
|
%if %{with_configchecks}
|
||||||
|
@ -1922,6 +1941,7 @@ for opt in %{clang_make_opts}; do
|
||||||
OPTS="$OPTS -m $opt"
|
OPTS="$OPTS -m $opt"
|
||||||
done
|
done
|
||||||
%endif
|
%endif
|
||||||
|
%{log_msg "Generate redhat configs"}
|
||||||
RHJOBS=$RPM_BUILD_NCPUS SPECPACKAGE_NAME=%{name} ./process_configs.sh $OPTS %{specrpmversion}
|
RHJOBS=$RPM_BUILD_NCPUS SPECPACKAGE_NAME=%{name} ./process_configs.sh $OPTS %{specrpmversion}
|
||||||
|
|
||||||
# We may want to override files from the primary target in case of building
|
# We may want to override files from the primary target in case of building
|
||||||
|
@ -1936,20 +1956,21 @@ update_scripts() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%{log_msg "Set scripts/SOURCES targets"}
|
||||||
update_target=%{primary_target}
|
update_target=%{primary_target}
|
||||||
if [ "%{primary_target}" == "rhel" ]; then
|
if [ "%{primary_target}" == "rhel" ]; then
|
||||||
: # no-op to avoid empty if-fi error
|
: # no-op to avoid empty if-fi error
|
||||||
%if 0%{?centos}
|
%if 0%{?centos}
|
||||||
update_scripts $update_target
|
update_scripts $update_target
|
||||||
echo "Updating scripts/sources to centos version"
|
%{log_msg "Updating scripts/sources to centos version"}
|
||||||
update_target=centos
|
update_target=centos
|
||||||
%endif
|
%endif
|
||||||
fi
|
fi
|
||||||
update_scripts $update_target
|
update_scripts $update_target
|
||||||
|
|
||||||
# end of kernel config
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{log_msg "End of kernel config"}
|
||||||
cd ..
|
cd ..
|
||||||
# # End of Configs stuff
|
# # End of Configs stuff
|
||||||
|
|
||||||
|
@ -1965,7 +1986,9 @@ cd ..
|
||||||
### build
|
### build
|
||||||
###
|
###
|
||||||
%build
|
%build
|
||||||
|
%{log_msg "Start of build stage"}
|
||||||
|
|
||||||
|
%{log_msg "General arch build configuration"}
|
||||||
rm -rf %{buildroot_unstripped} || true
|
rm -rf %{buildroot_unstripped} || true
|
||||||
mkdir -p %{buildroot_unstripped}
|
mkdir -p %{buildroot_unstripped}
|
||||||
|
|
||||||
|
@ -1989,6 +2012,9 @@ cp_vmlinux()
|
||||||
%define make %{__make} %{?cross_opts} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}"
|
%define make %{__make} %{?cross_opts} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}"
|
||||||
|
|
||||||
InitBuildVars() {
|
InitBuildVars() {
|
||||||
|
%{log_msg "InitBuildVars for $1"}
|
||||||
|
|
||||||
|
%{log_msg "InitBuildVars: Initialize build variables"}
|
||||||
# Initialize the kernel .config file and create some variables that are
|
# Initialize the kernel .config file and create some variables that are
|
||||||
# needed for the actual build process.
|
# needed for the actual build process.
|
||||||
|
|
||||||
|
@ -2000,6 +2026,7 @@ InitBuildVars() {
|
||||||
|
|
||||||
KernelVer=%{specversion}-%{release}.%{_target_cpu}${Variant:++${Variant}}
|
KernelVer=%{specversion}-%{release}.%{_target_cpu}${Variant:++${Variant}}
|
||||||
|
|
||||||
|
%{log_msg "InitBuildVars: Update Makefile"}
|
||||||
# make sure EXTRAVERSION says what we want it to say
|
# make sure EXTRAVERSION says what we want it to say
|
||||||
# Trim the release if this is a CI build, since KERNELVERSION is limited to 64 characters
|
# Trim the release if this is a CI build, since KERNELVERSION is limited to 64 characters
|
||||||
ShortRel=$(perl -e "print \"%{release}\" =~ s/\.pr\.[0-9A-Fa-f]{32}//r")
|
ShortRel=$(perl -e "print \"%{release}\" =~ s/\.pr\.[0-9A-Fa-f]{32}//r")
|
||||||
|
@ -2009,6 +2036,7 @@ InitBuildVars() {
|
||||||
# if we are post rc1 this should match anyway so this won't matter
|
# if we are post rc1 this should match anyway so this won't matter
|
||||||
perl -p -i -e 's/^PATCHLEVEL.*/PATCHLEVEL = %{patchlevel}/' Makefile
|
perl -p -i -e 's/^PATCHLEVEL.*/PATCHLEVEL = %{patchlevel}/' Makefile
|
||||||
|
|
||||||
|
%{log_msg "InitBuildVars: Copy files"}
|
||||||
%{make} %{?_smp_mflags} mrproper
|
%{make} %{?_smp_mflags} mrproper
|
||||||
cp configs/$Config .config
|
cp configs/$Config .config
|
||||||
|
|
||||||
|
@ -2017,23 +2045,26 @@ InitBuildVars() {
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Arch=`head -1 .config | cut -b 3-`
|
Arch=`head -1 .config | cut -b 3-`
|
||||||
echo USING ARCH=$Arch
|
%{log_msg "InitBuildVars: USING ARCH=$Arch"}
|
||||||
|
|
||||||
KCFLAGS="%{?kcflags}"
|
KCFLAGS="%{?kcflags}"
|
||||||
|
|
||||||
# add kpatch flags for base kernel
|
# add kpatch flags for base kernel
|
||||||
|
%{log_msg "InitBuildVars: Configure KCFLAGS"}
|
||||||
if [ "$Variant" == "" ]; then
|
if [ "$Variant" == "" ]; then
|
||||||
KCFLAGS="$KCFLAGS %{?kpatch_kcflags}"
|
KCFLAGS="$KCFLAGS %{?kpatch_kcflags}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildKernel() {
|
BuildKernel() {
|
||||||
|
%{log_msg "BuildKernel for $4"}
|
||||||
MakeTarget=$1
|
MakeTarget=$1
|
||||||
KernelImage=$2
|
KernelImage=$2
|
||||||
DoVDSO=$3
|
DoVDSO=$3
|
||||||
Variant=$4
|
Variant=$4
|
||||||
InstallName=${5:-vmlinuz}
|
InstallName=${5:-vmlinuz}
|
||||||
|
|
||||||
|
%{log_msg "Setup variables"}
|
||||||
DoModules=1
|
DoModules=1
|
||||||
if [ "$Variant" = "zfcpdump" ]; then
|
if [ "$Variant" = "zfcpdump" ]; then
|
||||||
DoModules=0
|
DoModules=0
|
||||||
|
@ -2048,22 +2079,25 @@ BuildKernel() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%if %{with_gcov}
|
%if %{with_gcov}
|
||||||
|
%{log_msg "Setup build directories"}
|
||||||
# Make build directory unique for each variant, so that gcno symlinks
|
# Make build directory unique for each variant, so that gcno symlinks
|
||||||
# are also unique for each variant.
|
# are also unique for each variant.
|
||||||
if [ -n "$Variant" ]; then
|
if [ -n "$Variant" ]; then
|
||||||
ln -s $(pwd) ../linux-%{KVERREL}-${Variant}
|
ln -s $(pwd) ../linux-%{KVERREL}-${Variant}
|
||||||
fi
|
fi
|
||||||
echo "GCOV - continuing build in: $(pwd)"
|
%{log_msg "GCOV - continuing build in: $(pwd)"}
|
||||||
pushd ../linux-%{KVERREL}${Variant:+-${Variant}}
|
pushd ../linux-%{KVERREL}${Variant:+-${Variant}}
|
||||||
pwd > ../kernel${Variant:+-${Variant}}-gcov.list
|
pwd > ../kernel${Variant:+-${Variant}}-gcov.list
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{log_msg "Calling InitBuildVars for $Variant"}
|
||||||
InitBuildVars $Variant
|
InitBuildVars $Variant
|
||||||
|
|
||||||
echo BUILDING A KERNEL FOR ${Variant} %{_target_cpu}...
|
%{log_msg "BUILDING A KERNEL FOR ${Variant} %{_target_cpu}..."}
|
||||||
|
|
||||||
%{make} ARCH=$Arch olddefconfig >/dev/null
|
%{make} ARCH=$Arch olddefconfig >/dev/null
|
||||||
|
|
||||||
|
%{log_msg "Setup build-ids"}
|
||||||
# This ensures build-ids are unique to allow parallel debuginfo
|
# This ensures build-ids are unique to allow parallel debuginfo
|
||||||
perl -p -i -e "s/^CONFIG_BUILD_SALT.*/CONFIG_BUILD_SALT=\"%{KVERREL}\"/" .config
|
perl -p -i -e "s/^CONFIG_BUILD_SALT.*/CONFIG_BUILD_SALT=\"%{KVERREL}\"/" .config
|
||||||
%{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags}
|
%{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags}
|
||||||
|
@ -2071,6 +2105,7 @@ BuildKernel() {
|
||||||
%{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
|
%{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
%{log_msg "Setup RPM_BUILD_ROOT directories"}
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
|
mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
|
||||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
|
||||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/systemtap
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/systemtap
|
||||||
|
@ -2079,32 +2114,38 @@ BuildKernel() {
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
|
%{log_msg "Build dtb kernel"}
|
||||||
%{make} ARCH=$Arch dtbs INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
|
%{make} ARCH=$Arch dtbs INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
|
||||||
%{make} ARCH=$Arch dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
|
%{make} ARCH=$Arch dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
|
||||||
cp -r $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/dtb
|
cp -r $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/dtb
|
||||||
find arch/$Arch/boot/dts -name '*.dtb' -type f -delete
|
find arch/$Arch/boot/dts -name '*.dtb' -type f -delete
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{log_msg "Cleanup temp btf files"}
|
||||||
# Remove large intermediate files we no longer need to save space
|
# Remove large intermediate files we no longer need to save space
|
||||||
# (-f required for zfcpdump builds that do not enable BTF)
|
# (-f required for zfcpdump builds that do not enable BTF)
|
||||||
rm -f vmlinux.o .tmp_vmlinux.btf
|
rm -f vmlinux.o .tmp_vmlinux.btf
|
||||||
|
|
||||||
|
%{log_msg "Install files to RPM_BUILD_ROOT"}
|
||||||
# Start installing the results
|
# Start installing the results
|
||||||
install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
|
install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
|
||||||
install -m 644 .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/config
|
install -m 644 .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/config
|
||||||
install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
|
install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
|
||||||
install -m 644 System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/System.map
|
install -m 644 System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/System.map
|
||||||
|
|
||||||
|
%{log_msg "Create initrfamfs"}
|
||||||
# We estimate the size of the initramfs because rpm needs to take this size
|
# We estimate the size of the initramfs because rpm needs to take this size
|
||||||
# into consideration when performing disk space calculations. (See bz #530778)
|
# into consideration when performing disk space calculations. (See bz #530778)
|
||||||
dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-$KernelVer.img bs=1M count=20
|
dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-$KernelVer.img bs=1M count=20
|
||||||
|
|
||||||
if [ -f arch/$Arch/boot/zImage.stub ]; then
|
if [ -f arch/$Arch/boot/zImage.stub ]; then
|
||||||
|
%{log_msg "Copy zImage.stub to RPM_BUILD_ROOT"}
|
||||||
cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
|
cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
|
||||||
cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/lib/modules/$KernelVer/zImage.stub-$KernelVer || :
|
cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/lib/modules/$KernelVer/zImage.stub-$KernelVer || :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%if %{signkernel}
|
%if %{signkernel}
|
||||||
|
%{log_msg "Copy kernel for signing"}
|
||||||
if [ "$KernelImage" = vmlinux ]; then
|
if [ "$KernelImage" = vmlinux ]; then
|
||||||
# We can't strip and sign $KernelImage in place, because
|
# We can't strip and sign $KernelImage in place, because
|
||||||
# we need to preserve original vmlinux for debuginfo.
|
# we need to preserve original vmlinux for debuginfo.
|
||||||
|
@ -2117,6 +2158,7 @@ BuildKernel() {
|
||||||
SignImage=$KernelImage
|
SignImage=$KernelImage
|
||||||
|
|
||||||
%ifarch x86_64 aarch64
|
%ifarch x86_64 aarch64
|
||||||
|
%{log_msg "Sign kernel image"}
|
||||||
%pesign -s -i $SignImage -o vmlinuz.tmp -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0}
|
%pesign -s -i $SignImage -o vmlinuz.tmp -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0}
|
||||||
%pesign -s -i vmlinuz.tmp -o vmlinuz.signed -a %{secureboot_ca_1} -c %{secureboot_key_1} -n %{pesign_name_1}
|
%pesign -s -i vmlinuz.tmp -o vmlinuz.signed -a %{secureboot_ca_1} -c %{secureboot_key_1} -n %{pesign_name_1}
|
||||||
rm vmlinuz.tmp
|
rm vmlinuz.tmp
|
||||||
|
@ -2133,31 +2175,35 @@ BuildKernel() {
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
if [ ! -s vmlinuz.signed ]; then
|
if [ ! -s vmlinuz.signed ]; then
|
||||||
echo "pesigning failed"
|
%{log_msg "pesigning failed"}
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
mv vmlinuz.signed $SignImage
|
mv vmlinuz.signed $SignImage
|
||||||
# signkernel
|
# signkernel
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{log_msg "copy signed kernel"}
|
||||||
$CopyKernel $KernelImage \
|
$CopyKernel $KernelImage \
|
||||||
$RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
|
$RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
|
||||||
chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
|
chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
|
||||||
cp $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/$InstallName
|
cp $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/$InstallName
|
||||||
|
|
||||||
# hmac sign the kernel for FIPS
|
# hmac sign the kernel for FIPS
|
||||||
echo "Creating hmac file: $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac"
|
%{log_msg "hmac sign the kernel for FIPS"}
|
||||||
|
%{log_msg "Creating hmac file: $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac"}
|
||||||
ls -l $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
|
ls -l $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
|
||||||
(cd $RPM_BUILD_ROOT/%{image_install_path} && sha512hmac $InstallName-$KernelVer) > $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
|
cp $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac $RPM_BUILD_ROOT/lib/modules/$KernelVer/.vmlinuz.hmac
|
||||||
|
|
||||||
if [ $DoModules -eq 1 ]; then
|
if [ $DoModules -eq 1 ]; then
|
||||||
|
%{log_msg "Install modules in RPM_BUILD_ROOT"}
|
||||||
# Override $(mod-fw) because we don't want it to install any firmware
|
# Override $(mod-fw) because we don't want it to install any firmware
|
||||||
# we'll get it from the linux-firmware package and we don't want conflicts
|
# we'll get it from the linux-firmware package and we don't want conflicts
|
||||||
%{make} %{?_smp_mflags} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT %{?_smp_mflags} modules_install KERNELRELEASE=$KernelVer mod-fw=
|
%{make} %{?_smp_mflags} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT %{?_smp_mflags} modules_install KERNELRELEASE=$KernelVer mod-fw=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%if %{with_gcov}
|
%if %{with_gcov}
|
||||||
|
%{log_msg "install gcov-needed files to $BUILDROOT/$BUILD/"}
|
||||||
# install gcov-needed files to $BUILDROOT/$BUILD/...:
|
# install gcov-needed files to $BUILDROOT/$BUILD/...:
|
||||||
# gcov_info->filename is absolute path
|
# gcov_info->filename is absolute path
|
||||||
# gcno references to sources can use absolute paths (e.g. in out-of-tree builds)
|
# gcno references to sources can use absolute paths (e.g. in out-of-tree builds)
|
||||||
|
@ -2165,6 +2211,7 @@ BuildKernel() {
|
||||||
find . \( -name '*.gcno' -o -name '*.[chS]' \) -exec install -D '{}' "$RPM_BUILD_ROOT/$(pwd)/{}" \;
|
find . \( -name '*.gcno' -o -name '*.[chS]' \) -exec install -D '{}' "$RPM_BUILD_ROOT/$(pwd)/{}" \;
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{log_msg "Add VDSO files"}
|
||||||
# add an a noop %%defattr statement 'cause rpm doesn't like empty file list files
|
# add an a noop %%defattr statement 'cause rpm doesn't like empty file list files
|
||||||
echo '%%defattr(-,-,-)' > ../kernel${Variant:+-${Variant}}-ldsoconf.list
|
echo '%%defattr(-,-,-)' > ../kernel${Variant:+-${Variant}}-ldsoconf.list
|
||||||
if [ $DoVDSO -ne 0 ]; then
|
if [ $DoVDSO -ne 0 ]; then
|
||||||
|
@ -2178,6 +2225,7 @@ BuildKernel() {
|
||||||
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id
|
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
%{log_msg "Save headers/makefiles, etc. for kernel-headers"}
|
||||||
# And save the headers/makefiles etc for building modules against
|
# And save the headers/makefiles etc for building modules against
|
||||||
#
|
#
|
||||||
# This all looks scary, but the end result is supposed to be:
|
# This all looks scary, but the end result is supposed to be:
|
||||||
|
@ -2212,12 +2260,12 @@ BuildKernel() {
|
||||||
# NOTENOTE: script which dynamically adds exported kernel symbol
|
# NOTENOTE: script which dynamically adds exported kernel symbol
|
||||||
# NOTENOTE: checksums to the rpm metadata provides list.
|
# NOTENOTE: checksums to the rpm metadata provides list.
|
||||||
# NOTENOTE: if you change the symvers name, update the backend too
|
# NOTENOTE: if you change the symvers name, update the backend too
|
||||||
echo "**** GENERATING kernel ABI metadata ****"
|
%{log_msg "GENERATING kernel ABI metadata"}
|
||||||
%compression --stdout %compression_flags < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-$KernelVer.%compext
|
%compression --stdout %compression_flags < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-$KernelVer.%compext
|
||||||
cp $RPM_BUILD_ROOT/boot/symvers-$KernelVer.%compext $RPM_BUILD_ROOT/lib/modules/$KernelVer/symvers.%compext
|
cp $RPM_BUILD_ROOT/boot/symvers-$KernelVer.%compext $RPM_BUILD_ROOT/lib/modules/$KernelVer/symvers.%compext
|
||||||
|
|
||||||
%if %{with_kabichk}
|
%if %{with_kabichk}
|
||||||
echo "**** kABI checking is enabled in kernel SPEC file. ****"
|
%{log_msg "kABI checking is enabled in kernel SPEC file."}
|
||||||
chmod 0755 $RPM_SOURCE_DIR/check-kabi
|
chmod 0755 $RPM_SOURCE_DIR/check-kabi
|
||||||
if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Variant ]; then
|
if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Variant ]; then
|
||||||
cp $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Variant $RPM_BUILD_ROOT/Module.kabi
|
cp $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Variant $RPM_BUILD_ROOT/Module.kabi
|
||||||
|
@ -2225,19 +2273,19 @@ BuildKernel() {
|
||||||
# for now, don't keep it around.
|
# for now, don't keep it around.
|
||||||
rm $RPM_BUILD_ROOT/Module.kabi
|
rm $RPM_BUILD_ROOT/Module.kabi
|
||||||
else
|
else
|
||||||
echo "**** NOTE: Cannot find reference Module.kabi file. ****"
|
%{log_msg "NOTE: Cannot find reference Module.kabi file."}
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with_kabidupchk}
|
%if %{with_kabidupchk}
|
||||||
echo "**** kABI DUP checking is enabled in kernel SPEC file. ****"
|
%{log_msg "kABI DUP checking is enabled in kernel SPEC file."}
|
||||||
if [ -e $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Variant ]; then
|
if [ -e $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Variant ]; then
|
||||||
cp $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Variant $RPM_BUILD_ROOT/Module.kabi
|
cp $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Variant $RPM_BUILD_ROOT/Module.kabi
|
||||||
$RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1
|
$RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1
|
||||||
# for now, don't keep it around.
|
# for now, don't keep it around.
|
||||||
rm $RPM_BUILD_ROOT/Module.kabi
|
rm $RPM_BUILD_ROOT/Module.kabi
|
||||||
else
|
else
|
||||||
echo "**** NOTE: Cannot find DUP reference Module.kabi file. ****"
|
%{log_msg "NOTE: Cannot find DUP reference Module.kabi file."}
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
@ -2250,7 +2298,7 @@ BuildKernel() {
|
||||||
mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
||||||
tar -xvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
tar -xvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
||||||
|
|
||||||
echo "**** GENERATING DWARF-based kABI baseline dataset ****"
|
%{log_msg "GENERATING DWARF-based kABI baseline dataset"}
|
||||||
chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh
|
chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh
|
||||||
$RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \
|
$RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \
|
||||||
"$RPM_BUILD_ROOT/kabi-dwarf/stablelists/kabi-current/kabi_stablelist_%{_target_cpu}" \
|
"$RPM_BUILD_ROOT/kabi-dwarf/stablelists/kabi-current/kabi_stablelist_%{_target_cpu}" \
|
||||||
|
@ -2269,26 +2317,27 @@ BuildKernel() {
|
||||||
mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
||||||
tar -xvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
tar -xvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
||||||
|
|
||||||
echo "**** GENERATING DWARF-based kABI dataset ****"
|
%{log_msg "GENERATING DWARF-based kABI dataset"}
|
||||||
chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh
|
chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh
|
||||||
$RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \
|
$RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \
|
||||||
"$RPM_BUILD_ROOT/kabi-dwarf/stablelists/kabi-current/kabi_stablelist_%{_target_cpu}" \
|
"$RPM_BUILD_ROOT/kabi-dwarf/stablelists/kabi-current/kabi_stablelist_%{_target_cpu}" \
|
||||||
"$(pwd)" \
|
"$(pwd)" \
|
||||||
"$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}.tmp" || :
|
"$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}.tmp" || :
|
||||||
|
|
||||||
echo "**** kABI DWARF-based comparison report ****"
|
%{log_msg "kABI DWARF-based comparison report"}
|
||||||
$RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh compare \
|
$RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh compare \
|
||||||
"$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}" \
|
"$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}" \
|
||||||
"$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}.tmp" || :
|
"$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}.tmp" || :
|
||||||
echo "**** End of kABI DWARF-based comparison report ****"
|
%{log_msg "End of kABI DWARF-based comparison report"}
|
||||||
else
|
else
|
||||||
echo "**** Baseline dataset for kABI DWARF-BASED comparison report not found ****"
|
%{log_msg "Baseline dataset for kABI DWARF-BASED comparison report not found"}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT/kabi-dwarf
|
rm -rf $RPM_BUILD_ROOT/kabi-dwarf
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{log_msg "Cleanup Makefiles/Kconfig files"}
|
||||||
# then drop all but the needed Makefiles/Kconfig files
|
# then drop all but the needed Makefiles/Kconfig files
|
||||||
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
|
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
|
||||||
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
|
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
|
||||||
|
@ -2300,11 +2349,13 @@ BuildKernel() {
|
||||||
%ifarch s390x
|
%ifarch s390x
|
||||||
# CONFIG_EXPOLINE_EXTERN=y produces arch/s390/lib/expoline/expoline.o
|
# CONFIG_EXPOLINE_EXTERN=y produces arch/s390/lib/expoline/expoline.o
|
||||||
# which is needed during external module build.
|
# which is needed during external module build.
|
||||||
|
%{log_msg "Copy expoline.o"}
|
||||||
if [ -f arch/s390/lib/expoline/expoline.o ]; then
|
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
|
cp -a --parents arch/s390/lib/expoline/expoline.o $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{log_msg "Copy additional files for make targets"}
|
||||||
# Files for 'make scripts' to succeed with kernel-devel.
|
# Files for 'make scripts' to succeed with kernel-devel.
|
||||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/security/selinux/include
|
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
|
cp -a --parents security/selinux/include/classmap.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
|
||||||
|
@ -2398,6 +2449,7 @@ BuildKernel() {
|
||||||
cp -a --parents tools/objtool/arch/x86/ $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
|
cp -a --parents tools/objtool/arch/x86/ $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
%{log_msg "Clean up intermediate tools files"}
|
||||||
# Clean up intermediate tools files
|
# Clean up intermediate tools files
|
||||||
find $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
find $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} +
|
||||||
|
|
||||||
|
@ -2411,6 +2463,7 @@ BuildKernel() {
|
||||||
eu-readelf -n vmlinux | grep "Build ID" | awk '{print $NF}' > vmlinux.id
|
eu-readelf -n vmlinux | grep "Build ID" | awk '{print $NF}' > vmlinux.id
|
||||||
cp vmlinux.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.id
|
cp vmlinux.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.id
|
||||||
|
|
||||||
|
%{log_msg "Copy additional files for kernel-debuginfo rpm"}
|
||||||
#
|
#
|
||||||
# save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
|
# save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
|
||||||
# (use mv + symlink instead of cp to reduce disk space requirements)
|
# (use mv + symlink instead of cp to reduce disk space requirements)
|
||||||
|
@ -2437,13 +2490,14 @@ BuildKernel() {
|
||||||
%py_byte_compile %{python3} $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/scripts/gdb
|
%py_byte_compile %{python3} $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/scripts/gdb
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{log_msg "Create modnames"}
|
||||||
find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
|
find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
|
||||||
|
|
||||||
# mark modules executable so that strip-to-file can strip them
|
# mark modules executable so that strip-to-file can strip them
|
||||||
xargs --no-run-if-empty chmod u+x < modnames
|
xargs --no-run-if-empty chmod u+x < modnames
|
||||||
|
|
||||||
# Generate a list of modules for block and networking.
|
# Generate a list of modules for block and networking.
|
||||||
|
%{log_msg "Generate a list of modules for block and networking"}
|
||||||
grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA |
|
grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA |
|
||||||
sed -n 's,^.*/\([^/]*\.ko\): *U \(.*\)$,\1 \2,p' > drivers.undef
|
sed -n 's,^.*/\([^/]*\.ko\): *U \(.*\)$,\1 \2,p' > drivers.undef
|
||||||
|
|
||||||
|
@ -2465,6 +2519,7 @@ BuildKernel() {
|
||||||
collect_modules_list modesetting \
|
collect_modules_list modesetting \
|
||||||
'drm_crtc_init'
|
'drm_crtc_init'
|
||||||
|
|
||||||
|
%{log_msg "detect missing or incorrect license tags"}
|
||||||
# detect missing or incorrect license tags
|
# detect missing or incorrect license tags
|
||||||
( find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name '*.ko' | xargs /sbin/modinfo -l | \
|
( find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name '*.ko' | xargs /sbin/modinfo -l | \
|
||||||
grep -E -v 'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' ) && exit 1
|
grep -E -v 'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' ) && exit 1
|
||||||
|
@ -2480,8 +2535,10 @@ BuildKernel() {
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%{log_msg "Remove depmod files"}
|
||||||
remove_depmod_files
|
remove_depmod_files
|
||||||
|
|
||||||
|
%{log_msg "Identify modules in kenrel-modules-* packages"}
|
||||||
# Identify modules in the kernel-modules-extras package
|
# Identify modules in the kernel-modules-extras package
|
||||||
%{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer $(realpath configs/mod-extra.list)
|
%{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer $(realpath configs/mod-extra.list)
|
||||||
# Identify modules in the kernel-modules-internal package
|
# Identify modules in the kernel-modules-internal package
|
||||||
|
@ -2498,6 +2555,7 @@ BuildKernel() {
|
||||||
#
|
#
|
||||||
# Generate the kernel-core and kernel-modules files lists
|
# Generate the kernel-core and kernel-modules files lists
|
||||||
#
|
#
|
||||||
|
%{log_msg "Gemerate the kernel-core and kernel-modules files lists"}
|
||||||
|
|
||||||
# Copy the System.map file for depmod to use, and create a backup of the
|
# 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
|
# full module tree so we can restore it after we're done filtering
|
||||||
|
@ -2507,6 +2565,7 @@ BuildKernel() {
|
||||||
mkdir restore
|
mkdir restore
|
||||||
cp -r lib/modules/$KernelVer/* restore/.
|
cp -r lib/modules/$KernelVer/* restore/.
|
||||||
|
|
||||||
|
%{log_msg "Remove files in the kernel-modules-* file lists"}
|
||||||
# don't include anything going into kernel-modules-extra in the file lists
|
# don't include anything going into kernel-modules-extra in the file lists
|
||||||
xargs rm -rf < mod-extra.list
|
xargs rm -rf < mod-extra.list
|
||||||
# don't include anything going into kernel-modules-internal in the file lists
|
# don't include anything going into kernel-modules-internal in the file lists
|
||||||
|
@ -2521,6 +2580,7 @@ BuildKernel() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $DoModules -eq 1 ]; then
|
if [ $DoModules -eq 1 ]; then
|
||||||
|
%{log_msg "Filter files into core and modules lists"}
|
||||||
# Find all the module files and filter them out into the core and
|
# Find all the module files and filter them out into the core and
|
||||||
# modules lists. This actually removes anything going into -modules
|
# modules lists. This actually removes anything going into -modules
|
||||||
# from the dir.
|
# from the dir.
|
||||||
|
@ -2531,13 +2591,14 @@ BuildKernel() {
|
||||||
# Run depmod on the resulting module tree and make sure it isn't broken
|
# Run depmod on the resulting module tree and make sure it isn't broken
|
||||||
depmod -b . -aeF ./System.map $KernelVer &> depmod.out
|
depmod -b . -aeF ./System.map $KernelVer &> depmod.out
|
||||||
if [ -s depmod.out ]; then
|
if [ -s depmod.out ]; then
|
||||||
echo "Depmod failure"
|
%{log_msg "Depmod failure"}
|
||||||
cat depmod.out
|
cat depmod.out
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
rm depmod.out
|
rm depmod.out
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
%{log_msg "Create empty files for RPM packaging"}
|
||||||
# Ensure important files/directories exist to let the packaging succeed
|
# Ensure important files/directories exist to let the packaging succeed
|
||||||
echo '%%defattr(-,-,-)' > modules.list
|
echo '%%defattr(-,-,-)' > modules.list
|
||||||
echo '%%defattr(-,-,-)' > k-d.list
|
echo '%%defattr(-,-,-)' > k-d.list
|
||||||
|
@ -2549,9 +2610,10 @@ BuildKernel() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$Variant" == "rt" || "$Variant" == "rt-debug" ]]; then
|
if [[ "$Variant" == "rt" || "$Variant" == "rt-debug" ]]; then
|
||||||
echo "Skipping efiuki build"
|
%{log_msg "Skipping efiuki build"}
|
||||||
else
|
else
|
||||||
%if %{with_efiuki}
|
%if %{with_efiuki}
|
||||||
|
%{log_msg "Setup the EFI UKI kernel"}
|
||||||
popd
|
popd
|
||||||
|
|
||||||
KernelUnifiedImageDir="$RPM_BUILD_ROOT/lib/modules/$KernelVer"
|
KernelUnifiedImageDir="$RPM_BUILD_ROOT/lib/modules/$KernelVer"
|
||||||
|
@ -2571,13 +2633,13 @@ BuildKernel() {
|
||||||
$KernelUnifiedImage
|
$KernelUnifiedImage
|
||||||
|
|
||||||
%if %{signkernel}
|
%if %{signkernel}
|
||||||
|
%{log_msg "Sign the EFI UKI kernel"}
|
||||||
%pesign -s -i $KernelUnifiedImage -o $KernelUnifiedImage.tmp -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0}
|
%pesign -s -i $KernelUnifiedImage -o $KernelUnifiedImage.tmp -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0}
|
||||||
%pesign -s -i $KernelUnifiedImage.tmp -o $KernelUnifiedImage.signed -a %{secureboot_ca_1} -c %{secureboot_key_1} -n %{pesign_name_1}
|
%pesign -s -i $KernelUnifiedImage.tmp -o $KernelUnifiedImage.signed -a %{secureboot_ca_1} -c %{secureboot_key_1} -n %{pesign_name_1}
|
||||||
rm -f $KernelUnifiedImage.tmp
|
rm -f $KernelUnifiedImage.tmp
|
||||||
|
|
||||||
if [ ! -s $KernelUnifiedImage.signed ]; then
|
if [ ! -s $KernelUnifiedImage.signed ]; then
|
||||||
echo "pesigning failed"
|
%{log_msg "pesigning failed"}
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
mv $KernelUnifiedImage.signed $KernelUnifiedImage
|
mv $KernelUnifiedImage.signed $KernelUnifiedImage
|
||||||
|
@ -2599,6 +2661,7 @@ BuildKernel() {
|
||||||
find lib/modules/$KernelVer/kernel -mindepth 1 -type d | sort -n > module-dirs.list
|
find lib/modules/$KernelVer/kernel -mindepth 1 -type d | sort -n > module-dirs.list
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
|
%{log_msg "Cleanup build files"}
|
||||||
rm System.map
|
rm System.map
|
||||||
# Just "cp -r" can be very slow: here, it rewrites _existing files_
|
# Just "cp -r" can be very slow: here, it rewrites _existing files_
|
||||||
# with open(O_TRUNC). Many filesystems synchronously wait for metadata
|
# with open(O_TRUNC). Many filesystems synchronously wait for metadata
|
||||||
|
@ -2613,6 +2676,7 @@ BuildKernel() {
|
||||||
|
|
||||||
# Make sure the files lists start with absolute paths or rpmbuild fails.
|
# Make sure the files lists start with absolute paths or rpmbuild fails.
|
||||||
# Also add in the dir entries
|
# Also add in the dir entries
|
||||||
|
%{log_msg "Create module list files for all kernel variants"}
|
||||||
sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/k-d.list > ../kernel${Variant:+-${Variant}}-modules.list
|
sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/k-d.list > ../kernel${Variant:+-${Variant}}-modules.list
|
||||||
sed -e 's/^lib*/%dir \/lib/' %{?zipsed} $RPM_BUILD_ROOT/module-dirs.list > ../kernel${Variant:+-${Variant}}-modules-core.list
|
sed -e 's/^lib*/%dir \/lib/' %{?zipsed} $RPM_BUILD_ROOT/module-dirs.list > ../kernel${Variant:+-${Variant}}-modules-core.list
|
||||||
sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/modules.list >> ../kernel${Variant:+-${Variant}}-modules-core.list
|
sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/modules.list >> ../kernel${Variant:+-${Variant}}-modules-core.list
|
||||||
|
@ -2621,7 +2685,8 @@ BuildKernel() {
|
||||||
sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/mod-kvm.list >> ../kernel${Variant:+-${Variant}}-kvm.list
|
sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/mod-kvm.list >> ../kernel${Variant:+-${Variant}}-kvm.list
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup kernel variant module lists
|
||||||
|
%{log_msg "Clean up kernel variant module lists"}
|
||||||
rm -f $RPM_BUILD_ROOT/k-d.list
|
rm -f $RPM_BUILD_ROOT/k-d.list
|
||||||
rm -f $RPM_BUILD_ROOT/modules.list
|
rm -f $RPM_BUILD_ROOT/modules.list
|
||||||
rm -f $RPM_BUILD_ROOT/module-dirs.list
|
rm -f $RPM_BUILD_ROOT/module-dirs.list
|
||||||
|
@ -2636,6 +2701,7 @@ BuildKernel() {
|
||||||
|
|
||||||
%if %{signmodules}
|
%if %{signmodules}
|
||||||
if [ $DoModules -eq 1 ]; then
|
if [ $DoModules -eq 1 ]; then
|
||||||
|
%{log_msg "Save the signing keys for modules"}
|
||||||
# Save the signing keys so we can sign the modules in __modsign_install_post
|
# Save the signing keys so we can sign the modules in __modsign_install_post
|
||||||
cp certs/signing_key.pem certs/signing_key.pem.sign${Variant:++${Variant}}
|
cp certs/signing_key.pem certs/signing_key.pem.sign${Variant:++${Variant}}
|
||||||
cp certs/signing_key.x509 certs/signing_key.x509.sign${Variant:++${Variant}}
|
cp certs/signing_key.x509 certs/signing_key.x509.sign${Variant:++${Variant}}
|
||||||
|
@ -2643,6 +2709,7 @@ BuildKernel() {
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Move the devel headers out of the root file system
|
# Move the devel headers out of the root file system
|
||||||
|
%{log_msg "Move the devel headers to RPM_BUILD_ROOT"}
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
|
mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
|
||||||
mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
|
mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
|
||||||
|
|
||||||
|
@ -2655,6 +2722,7 @@ BuildKernel() {
|
||||||
# Generate vmlinux.h and put it to kernel-devel path
|
# Generate vmlinux.h and put it to kernel-devel path
|
||||||
# zfcpdump build does not have btf anymore
|
# zfcpdump build does not have btf anymore
|
||||||
if [ "$Variant" != "zfcpdump" ]; then
|
if [ "$Variant" != "zfcpdump" ]; then
|
||||||
|
%{log_msg "Build the bootstrap bpftool to generate vmlinux.h"}
|
||||||
# Build the bootstrap bpftool to generate vmlinux.h
|
# Build the bootstrap bpftool to generate vmlinux.h
|
||||||
export BPFBOOTSTRAP_CFLAGS=$(echo "%{__global_compiler_flags}" | sed -r "s/\-specs=[^\ ]+\/redhat-annobin-cc1//")
|
export BPFBOOTSTRAP_CFLAGS=$(echo "%{__global_compiler_flags}" | sed -r "s/\-specs=[^\ ]+\/redhat-annobin-cc1//")
|
||||||
export BPFBOOTSTRAP_LDFLAGS=$(echo "%{__global_ldflags}" | sed -r "s/\-specs=[^\ ]+\/redhat-annobin-cc1//")
|
export BPFBOOTSTRAP_LDFLAGS=$(echo "%{__global_ldflags}" | sed -r "s/\-specs=[^\ ]+\/redhat-annobin-cc1//")
|
||||||
|
@ -2663,12 +2731,14 @@ BuildKernel() {
|
||||||
tools/bpf/bpftool/bootstrap/bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h
|
tools/bpf/bpftool/bootstrap/bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
%{log_msg "Cleanup kernel-devel and kernel-debuginfo files"}
|
||||||
# prune junk from kernel-devel
|
# prune junk from kernel-devel
|
||||||
find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete
|
find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete
|
||||||
# prune junk from kernel-debuginfo
|
# prune junk from kernel-debuginfo
|
||||||
find $RPM_BUILD_ROOT/usr/src/kernels -name "*.mod.c" -delete
|
find $RPM_BUILD_ROOT/usr/src/kernels -name "*.mod.c" -delete
|
||||||
|
|
||||||
# Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel
|
# Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel
|
||||||
|
%{log_msg "Install certs"}
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer
|
||||||
%ifarch x86_64 aarch64
|
%ifarch x86_64 aarch64
|
||||||
install -m 0644 %{secureboot_ca_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca-20200609.cer
|
install -m 0644 %{secureboot_ca_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca-20200609.cer
|
||||||
|
@ -2690,6 +2760,7 @@ BuildKernel() {
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with_ipaclones}
|
%if %{with_ipaclones}
|
||||||
|
%{log_msg "install IPA clones"}
|
||||||
MAXPROCS=$(echo %{?_smp_mflags} | sed -n 's/-j\s*\([0-9]\+\)/\1/p')
|
MAXPROCS=$(echo %{?_smp_mflags} | sed -n 's/-j\s*\([0-9]\+\)/\1/p')
|
||||||
if [ -z "$MAXPROCS" ]; then
|
if [ -z "$MAXPROCS" ]; then
|
||||||
MAXPROCS=1
|
MAXPROCS=1
|
||||||
|
@ -2718,7 +2789,6 @@ cd linux-%{KVERREL}
|
||||||
|
|
||||||
%if %{with_debug}
|
%if %{with_debug}
|
||||||
%if %{with_realtime}
|
%if %{with_realtime}
|
||||||
echo "building rt-debug"
|
|
||||||
BuildKernel %make_target %kernel_image %{_use_vdso} rt-debug
|
BuildKernel %make_target %kernel_image %{_use_vdso} rt-debug
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
@ -2731,7 +2801,6 @@ BuildKernel %make_target %kernel_image %{_use_vdso} 64k-debug
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with_up}
|
%if %{with_up}
|
||||||
echo "building main debug package"
|
|
||||||
BuildKernel %make_target %kernel_image %{_use_vdso} debug
|
BuildKernel %make_target %kernel_image %{_use_vdso} debug
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
@ -2760,6 +2829,7 @@ BuildKernel %make_target %kernel_image %{_use_vdso}
|
||||||
%if !%{with_debug} && !%{with_zfcpdump} && !%{with_up} && !%{with_arm64_16k} && !%{with_arm64_64k} && !%{with_realtime}
|
%if !%{with_debug} && !%{with_zfcpdump} && !%{with_up} && !%{with_arm64_16k} && !%{with_arm64_64k} && !%{with_realtime}
|
||||||
# If only building the user space tools, then initialize the build environment
|
# If only building the user space tools, then initialize the build environment
|
||||||
# and some variables so that the various userspace tools can be built.
|
# and some variables so that the various userspace tools can be built.
|
||||||
|
%{log_msg "Initialize userspace tools build environment"}
|
||||||
InitBuildVars
|
InitBuildVars
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
@ -2770,6 +2840,7 @@ InitBuildVars
|
||||||
%global perf_make \
|
%global perf_make \
|
||||||
%{__make} %{?make_opts} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_CXXFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags} -Wl,-E" %{?cross_opts} -C tools/perf V=1 NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 LIBBPF_DYNAMIC=1 LIBTRACEEVENT_DYNAMIC=1 %{?perf_build_extra_opts} prefix=%{_prefix} PYTHON=%{__python3}
|
%{__make} %{?make_opts} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_CXXFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags} -Wl,-E" %{?cross_opts} -C tools/perf V=1 NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 LIBBPF_DYNAMIC=1 LIBTRACEEVENT_DYNAMIC=1 %{?perf_build_extra_opts} prefix=%{_prefix} PYTHON=%{__python3}
|
||||||
%if %{with_perf}
|
%if %{with_perf}
|
||||||
|
%{log_msg "Build perf"}
|
||||||
# perf
|
# perf
|
||||||
# make sure check-headers.sh is executable
|
# make sure check-headers.sh is executable
|
||||||
chmod +x tools/perf/check-headers.sh
|
chmod +x tools/perf/check-headers.sh
|
||||||
|
@ -2779,6 +2850,7 @@ chmod +x tools/perf/check-headers.sh
|
||||||
%if %{with_libperf}
|
%if %{with_libperf}
|
||||||
%global libperf_make \
|
%global libperf_make \
|
||||||
%{__make} %{?make_opts} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/lib/perf V=1
|
%{__make} %{?make_opts} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/lib/perf V=1
|
||||||
|
%{log_msg "build libperf"}
|
||||||
%{libperf_make} DESTDIR=$RPM_BUILD_ROOT
|
%{libperf_make} DESTDIR=$RPM_BUILD_ROOT
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
@ -2790,44 +2862,56 @@ chmod +x tools/perf/check-headers.sh
|
||||||
# cpupower
|
# cpupower
|
||||||
# make sure version-gen.sh is executable.
|
# make sure version-gen.sh is executable.
|
||||||
chmod +x tools/power/cpupower/utils/version-gen.sh
|
chmod +x tools/power/cpupower/utils/version-gen.sh
|
||||||
|
%{log_msg "build cpupower"}
|
||||||
%{tools_make} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false DEBUG=false
|
%{tools_make} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false DEBUG=false
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
pushd tools/power/cpupower/debug/x86_64
|
pushd tools/power/cpupower/debug/x86_64
|
||||||
|
%{log_msg "build centrino-decode powernow-k8-decode"}
|
||||||
%{tools_make} %{?_smp_mflags} centrino-decode powernow-k8-decode
|
%{tools_make} %{?_smp_mflags} centrino-decode powernow-k8-decode
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
pushd tools/power/x86/x86_energy_perf_policy/
|
pushd tools/power/x86/x86_energy_perf_policy/
|
||||||
|
%{log_msg "build x86_energy_perf_policy"}
|
||||||
%{tools_make}
|
%{tools_make}
|
||||||
popd
|
popd
|
||||||
pushd tools/power/x86/turbostat
|
pushd tools/power/x86/turbostat
|
||||||
|
%{log_msg "build turbostat"}
|
||||||
%{tools_make}
|
%{tools_make}
|
||||||
popd
|
popd
|
||||||
pushd tools/power/x86/intel-speed-select
|
pushd tools/power/x86/intel-speed-select
|
||||||
|
%{log_msg "build intel-speed-select"}
|
||||||
%{tools_make}
|
%{tools_make}
|
||||||
popd
|
popd
|
||||||
pushd tools/arch/x86/intel_sdsi
|
pushd tools/arch/x86/intel_sdsi
|
||||||
|
%{log_msg "build intel_sdsi"}
|
||||||
%{tools_make} CFLAGS="${RPM_OPT_FLAGS}"
|
%{tools_make} CFLAGS="${RPM_OPT_FLAGS}"
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
pushd tools/thermal/tmon/
|
pushd tools/thermal/tmon/
|
||||||
|
%{log_msg "build tmon"}
|
||||||
%{tools_make}
|
%{tools_make}
|
||||||
popd
|
popd
|
||||||
pushd tools/iio/
|
pushd tools/iio/
|
||||||
|
%{log_msg "build iio"}
|
||||||
%{tools_make}
|
%{tools_make}
|
||||||
popd
|
popd
|
||||||
pushd tools/gpio/
|
pushd tools/gpio/
|
||||||
|
%{log_msg "build gpio"}
|
||||||
%{tools_make}
|
%{tools_make}
|
||||||
popd
|
popd
|
||||||
# build VM tools
|
# build VM tools
|
||||||
pushd tools/mm/
|
pushd tools/mm/
|
||||||
|
%{log_msg "build slabinfo page_owner_sort"}
|
||||||
%{tools_make} slabinfo page_owner_sort
|
%{tools_make} slabinfo page_owner_sort
|
||||||
popd
|
popd
|
||||||
pushd tools/verification/rv/
|
pushd tools/verification/rv/
|
||||||
|
%{log_msg "build rv"}
|
||||||
%{tools_make}
|
%{tools_make}
|
||||||
popd
|
popd
|
||||||
pushd tools/tracing/rtla
|
pushd tools/tracing/rtla
|
||||||
|
%{log_msg "build rtla"}
|
||||||
%{tools_make}
|
%{tools_make}
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
@ -2839,26 +2923,31 @@ fi
|
||||||
%if %{with_bpftool}
|
%if %{with_bpftool}
|
||||||
%global bpftool_make \
|
%global bpftool_make \
|
||||||
%{__make} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_LDFLAGS="%{__global_ldflags}" DESTDIR=$RPM_BUILD_ROOT %{?make_opts} VMLINUX_H="${RPM_VMLINUX_H}" V=1
|
%{__make} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_LDFLAGS="%{__global_ldflags}" DESTDIR=$RPM_BUILD_ROOT %{?make_opts} VMLINUX_H="${RPM_VMLINUX_H}" V=1
|
||||||
|
%{log_msg "build bpftool"}
|
||||||
pushd tools/bpf/bpftool
|
pushd tools/bpf/bpftool
|
||||||
%{bpftool_make}
|
%{bpftool_make}
|
||||||
popd
|
popd
|
||||||
%else
|
%else
|
||||||
echo "bpftools disabled ... disabling selftests"
|
%{log_msg "bpftools disabled ... disabling selftests"}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with_selftests}
|
%if %{with_selftests}
|
||||||
|
%{log_msg "start build selftests"}
|
||||||
# Unfortunately, samples/bpf/Makefile expects that the headers are installed
|
# Unfortunately, samples/bpf/Makefile expects that the headers are installed
|
||||||
# in the source tree. We installed them previously to $RPM_BUILD_ROOT/usr
|
# in the source tree. We installed them previously to $RPM_BUILD_ROOT/usr
|
||||||
# but there's no way to tell the Makefile to take them from there.
|
# but there's no way to tell the Makefile to take them from there.
|
||||||
|
%{log_msg "install headers for selftests"}
|
||||||
%{make} %{?_smp_mflags} headers_install
|
%{make} %{?_smp_mflags} headers_install
|
||||||
|
|
||||||
# If we re building only tools without kernel, we need to generate config
|
# If we re building only tools without kernel, we need to generate config
|
||||||
# headers and prepare tree for modules building. The modules_prepare target
|
# headers and prepare tree for modules building. The modules_prepare target
|
||||||
# will cover both.
|
# will cover both.
|
||||||
if [ ! -f include/generated/autoconf.h ]; then
|
if [ ! -f include/generated/autoconf.h ]; then
|
||||||
|
%{log_msg "modules_prepare for selftests"}
|
||||||
%{make} %{?_smp_mflags} modules_prepare
|
%{make} %{?_smp_mflags} modules_prepare
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
%{log_msg "build samples/bpf"}
|
||||||
%{make} %{?_smp_mflags} ARCH=$Arch V=1 M=samples/bpf/ VMLINUX_H="${RPM_VMLINUX_H}" || true
|
%{make} %{?_smp_mflags} ARCH=$Arch V=1 M=samples/bpf/ VMLINUX_H="${RPM_VMLINUX_H}" || true
|
||||||
|
|
||||||
# Prevent bpf selftests to build bpftool repeatedly:
|
# Prevent bpf selftests to build bpftool repeatedly:
|
||||||
|
@ -2873,10 +2962,12 @@ pushd tools/testing/selftests
|
||||||
force_targets=""
|
force_targets=""
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{log_msg "main selftests compile"}
|
||||||
%{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="bpf mm livepatch net net/forwarding net/mptcp netfilter tc-testing memfd drivers/net/bonding" SKIP_TARGETS="" $force_targets INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" install
|
%{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="bpf mm livepatch net net/forwarding net/mptcp netfilter tc-testing memfd drivers/net/bonding" SKIP_TARGETS="" $force_targets INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" install
|
||||||
|
|
||||||
# 'make install' for bpf is broken and upstream refuses to fix it.
|
# 'make install' for bpf is broken and upstream refuses to fix it.
|
||||||
# Install the needed files manually.
|
# Install the needed files manually.
|
||||||
|
%{log_msg "install selftests"}
|
||||||
for dir in bpf bpf/no_alu32 bpf/progs; do
|
for dir in bpf bpf/no_alu32 bpf/progs; do
|
||||||
# In ARK, the rpm build continues even if some of the selftests
|
# In ARK, the rpm build continues even if some of the selftests
|
||||||
# cannot be built. It's not always possible to build selftests,
|
# cannot be built. It's not always possible to build selftests,
|
||||||
|
@ -2893,15 +2984,19 @@ done
|
||||||
%buildroot_save_unstripped "usr/libexec/kselftests/bpf/test_progs-no_alu32"
|
%buildroot_save_unstripped "usr/libexec/kselftests/bpf/test_progs-no_alu32"
|
||||||
popd
|
popd
|
||||||
export -n BPFTOOL
|
export -n BPFTOOL
|
||||||
|
%{log_msg "end build selftests"}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with_doc}
|
%if %{with_doc}
|
||||||
|
%{log_msg "start install docs"}
|
||||||
# Make the HTML pages.
|
# Make the HTML pages.
|
||||||
|
%{log_msg "build html docs"}
|
||||||
%{__make} PYTHON=/usr/bin/python3 htmldocs || %{doc_build_fail}
|
%{__make} PYTHON=/usr/bin/python3 htmldocs || %{doc_build_fail}
|
||||||
|
|
||||||
# sometimes non-world-readable files sneak into the kernel source tree
|
# sometimes non-world-readable files sneak into the kernel source tree
|
||||||
chmod -R a=rX Documentation
|
chmod -R a=rX Documentation
|
||||||
find Documentation -type d | xargs chmod u+w
|
find Documentation -type d | xargs chmod u+w
|
||||||
|
%{log_msg "end install docs"}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Module signing (modsign)
|
# Module signing (modsign)
|
||||||
|
@ -2913,17 +3008,17 @@ find Documentation -type d | xargs chmod u+w
|
||||||
|
|
||||||
%define __modsign_install_post \
|
%define __modsign_install_post \
|
||||||
if [ "%{signmodules}" -eq "1" ]; then \
|
if [ "%{signmodules}" -eq "1" ]; then \
|
||||||
echo "Signing kernel modules ..." \
|
%{log_msg "Signing kernel modules ..."} \
|
||||||
modules_dirs="$(shopt -s nullglob; echo $RPM_BUILD_ROOT/lib/modules/%{KVERREL}*)" \
|
modules_dirs="$(shopt -s nullglob; echo $RPM_BUILD_ROOT/lib/modules/%{KVERREL}*)" \
|
||||||
for modules_dir in $modules_dirs; do \
|
for modules_dir in $modules_dirs; do \
|
||||||
variant_suffix="${modules_dir#$RPM_BUILD_ROOT/lib/modules/%{KVERREL}}" \
|
variant_suffix="${modules_dir#$RPM_BUILD_ROOT/lib/modules/%{KVERREL}}" \
|
||||||
[ "$variant_suffix" == "+zfcpdump" ] && continue \
|
[ "$variant_suffix" == "+zfcpdump" ] && continue \
|
||||||
echo "Signing modules for %{KVERREL}${variant_suffix}" \
|
%{log_msg "Signing modules for %{KVERREL}${variant_suffix}"} \
|
||||||
%{modsign_cmd} certs/signing_key.pem.sign${variant_suffix} certs/signing_key.x509.sign${variant_suffix} $modules_dir/ \
|
%{modsign_cmd} certs/signing_key.pem.sign${variant_suffix} certs/signing_key.x509.sign${variant_suffix} $modules_dir/ \
|
||||||
done \
|
done \
|
||||||
fi \
|
fi \
|
||||||
if [ "%{zipmodules}" -eq "1" ]; then \
|
if [ "%{zipmodules}" -eq "1" ]; then \
|
||||||
echo "Compressing kernel modules ..." \
|
%{log_msg "Compressing kernel modules ..."} \
|
||||||
find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs -n 16 -P${RPM_BUILD_NCPUS} -r %compression %compression_flags; \
|
find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs -n 16 -P${RPM_BUILD_NCPUS} -r %compression %compression_flags; \
|
||||||
fi \
|
fi \
|
||||||
%{nil}
|
%{nil}
|
||||||
|
@ -3865,9 +3960,13 @@ fi\
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Feb 28 2024 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.8.0-0.rc6.cf1182944c7c.51]
|
* Thu Feb 29 2024 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.8.0-0.rc6.805d849d7c3c.51]
|
||||||
|
- gitlab-ci: fix merge tree URL for gating pipelines (Michael Hofmann)
|
||||||
- Revert "net: bump CONFIG_MAX_SKB_FRAGS to 45" (Marcelo Ricardo Leitner)
|
- Revert "net: bump CONFIG_MAX_SKB_FRAGS to 45" (Marcelo Ricardo Leitner)
|
||||||
|
- uki: use systemd-pcrphase dracut module (Gerd Hoffmann)
|
||||||
- Add libperf-debuginfo subpackage (Justin M. Forbes)
|
- Add libperf-debuginfo subpackage (Justin M. Forbes)
|
||||||
|
- redhat/kernel.spec.template: Add log_msg macro (Prarit Bhargava)
|
||||||
|
- Linux v6.8.0-0.rc6.805d849d7c3c
|
||||||
|
|
||||||
* Wed Feb 28 2024 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.8.0-0.rc6.cf1182944c7c.50]
|
* Wed Feb 28 2024 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.8.0-0.rc6.cf1182944c7c.50]
|
||||||
- Linux v6.8.0-0.rc6.cf1182944c7c
|
- Linux v6.8.0-0.rc6.cf1182944c7c
|
||||||
|
|
6
sources
6
sources
|
@ -1,5 +1,5 @@
|
||||||
SHA512 (kernel-abi-stablelists-6.6.0.tar.bz2) = 4f917598056dee5e23814621ec96ff2e4a411c8c4ba9d56ecb01b23cb96431825bedbecfcbaac9338efbf5cb21694d85497fa0bf43e7c80d9cd10bc6dd144dbd
|
SHA512 (kernel-abi-stablelists-6.6.0.tar.bz2) = 4f917598056dee5e23814621ec96ff2e4a411c8c4ba9d56ecb01b23cb96431825bedbecfcbaac9338efbf5cb21694d85497fa0bf43e7c80d9cd10bc6dd144dbd
|
||||||
SHA512 (kernel-kabi-dw-6.6.0.tar.bz2) = 19308cd976031d05e18ef7f5d093218acdb89446418bab0cd956ff12cf66369915b9e64bb66fa9f20939428a60e81884fec5be3529c6c7461738d6540d3cc5c6
|
SHA512 (kernel-kabi-dw-6.6.0.tar.bz2) = 19308cd976031d05e18ef7f5d093218acdb89446418bab0cd956ff12cf66369915b9e64bb66fa9f20939428a60e81884fec5be3529c6c7461738d6540d3cc5c6
|
||||||
SHA512 (linux-6.8-rc6-21-gcf1182944c7c.tar.xz) = 4e849dfad1eae9176110c8ec5885fda15cb61d885dbb9daa77611d0d2d850cbec392996754ee52ae798c17e6ef873320ff1816e146182ab574e5f98b14cc53ca
|
SHA512 (linux-6.8-rc6-37-g805d849d7c3c.tar.xz) = 363aac713f74b3f07f9a3119b7cc179f9d3cd4bb94b9e2fbaea4deced2f2aa56c645d5dc232c95aa1211e152e072549c2fa0a9842cb16deed294257dc68699c8
|
||||||
SHA512 (kernel-abi-stablelists-6.8.0.tar.xz) = dc55b68f991a9e45aa2f71c67caf4c9243555d06e56f0e2b8be02ddccaf13a8b6fddf7bdc734354de795834df33bbc165b25a227d5ea7e8c0b29e3212845f5b4
|
SHA512 (kernel-abi-stablelists-6.8.0.tar.xz) = e54f08d19c84cf1fb11ea7935a392678944f8276b4af58436fcf58913e9d49fd4b9ae9f4bdfcf57aa4454b3ac341a9ed5ec5d85ceacfa26b6920aabf5ee76379
|
||||||
SHA512 (kernel-kabi-dw-6.8.0.tar.xz) = 418af894e6c26a48a7ef2e87f5755a3135206a8e709cb035363b2789470f68429f336661d674f4233791f24c315d35036b72ecfeede337abf4d7a02604bb8fd9
|
SHA512 (kernel-kabi-dw-6.8.0.tar.xz) = f5d293151e220344e2f54c6ec84d2ae5b317b83b25c148409e275f1b06133c1d7b0671f57831b2d01a4012038479c326a9b076f98672316da5439b17b9a46191
|
||||||
|
|
Loading…
Reference in New Issue