From: Jan Stancek jstancek@redhat.com
redhat: fix realtime and efiuki build conflict
We don't want to build a uki image for the realtime kernel, but do not want to prevent efiuki images from being built when realtime is also being built. Skip efiuki logic when actively working on a realtime kernel build.
Signed-off-by: Jan Stancek jstancek@redhat.com Signed-off-by: Clark Williams williams@redhat.com
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template index blahblah..blahblah 100644 --- a/redhat/kernel.spec.template +++ b/redhat/kernel.spec.template @@ -1532,7 +1532,7 @@ Requires: kernel-%{?1:%{1}-}-modules-core-uname-r = %{KVERREL}%{uname_variant %{ %endif\ %if "%{1}" == "rt" || "%{1}" == "rt-debug"\ %{expand:%%kernel_kvm_package %{?1:%{1}}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ -%endif \ +%else \ %if %{with_efiuki}\ %package %{?1:%{1}-}uki-virt\ Summary: %{variant_summary} unified kernel image for virtual machines\ @@ -1540,6 +1540,7 @@ Provides: installonlypkg(kernel)\ Provides: kernel-%{?1:%{1}-}uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ %endif\ +%endif\ %if %{with_gcov}\ %{expand:%%kernel_gcov_package %{?1:%{1}}}\ %endif\ @@ -2459,15 +2460,18 @@ BuildKernel() { touch lib/modules/$KernelVer/modules.builtin fi
+ if [[ "$Variant" == "rt" || "$Variant" == "rt-debug" ]]; then + echo "Skipping efiuki build" + else %if %{with_efiuki} - popd + popd
- KernelUnifiedImageDir="$RPM_BUILD_ROOT/lib/modules/$KernelVer" - KernelUnifiedImage="$KernelUnifiedImageDir/$InstallName-virt.efi" + KernelUnifiedImageDir="$RPM_BUILD_ROOT/lib/modules/$KernelVer" + KernelUnifiedImage="$KernelUnifiedImageDir/$InstallName-virt.efi"
- mkdir -p $KernelUnifiedImageDir + mkdir -p $KernelUnifiedImageDir
- dracut --conf=%{SOURCE86} \ + dracut --conf=%{SOURCE86} \ --confdir=$(mktemp -d) \ --verbose \ --kver "$KernelVer" \ @@ -2480,23 +2484,25 @@ BuildKernel() {
%if %{signkernel}
- %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} - rm -f $KernelUnifiedImage.tmp + %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} + rm -f $KernelUnifiedImage.tmp
- if [ ! -s $KernelUnifiedImage.signed ]; then - echo "pesigning failed" - exit 1 - fi - mv $KernelUnifiedImage.signed $KernelUnifiedImage + if [ ! -s $KernelUnifiedImage.signed ]; then + echo "pesigning failed" + exit 1 + fi + mv $KernelUnifiedImage.signed $KernelUnifiedImage
# signkernel %endif
- pushd $RPM_BUILD_ROOT + pushd $RPM_BUILD_ROOT
# with_efiuki %endif + : # in case of empty block + fi # "$Variant" == "rt" || "$Variant" == "rt-debug"
remove_depmod_files
@@ -3623,14 +3629,14 @@ fi %{expand:%%files %{?3:%{3}-}modules-partner}\ /lib/modules/%{KVERREL}%{?3:+%{3}}/partner\ %endif\ -%if "%{3}" == "rt" || "%{3}" == "rt-debug"\ -%{expand:%%files -f %{name}-%{?3:%{3}-}kvm.list %{?3:%{3}-}kvm}\ -%endif\ %if %{with_debuginfo}\ %ifnarch noarch\ %{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\ %endif\ %endif\ +%if "%{3}" == "rt" || "%{3}" == "rt-debug"\ +%{expand:%%files -f %{name}-%{?3:%{3}-}kvm.list %{?3:%{3}-}kvm}\ +%else\ %if %{with_efiuki}\ %{expand:%%files %{?3:%{3}-}uki-virt}\ %attr(0600, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\ @@ -3640,6 +3646,7 @@ fi /lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-virt.efi\ %ghost /%{image_install_path}/efi/EFI/Linux/%{?-k:%{-k*}}%{!?-k:*}-%{KVERREL}%{?3:+%{3}}.efi\ %endif\ +%endif\ %if %{?3:1} %{!?3:0}\ %{expand:%%files %{3}}\ %endif\
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2403