From df28d848d362e59c904b9d740f5032fbee9d460d Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Thu, 16 Jul 2026 17:06:17 -0300 Subject: [PATCH] fix(elilo): set use_prebuilt via %ifarch + %if (drop || that older rpm mis-evaluates) EL8/EL9 mock chroots run an older rpm that does not evaluate an || between a string compare and an arithmetic test like EL10's rpm, so use_prebuilt stayed unset on el9-ppc and the gnu-efi BuildRequires (absent on ppc) broke the build. Use two independent %ifarch ppc64le / %if 0%{?rhel}==8 blocks instead. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- elilo/elilo-xcat.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/elilo/elilo-xcat.spec b/elilo/elilo-xcat.spec index b8a9156..f9e6070 100644 --- a/elilo/elilo-xcat.spec +++ b/elilo/elilo-xcat.spec @@ -23,7 +23,13 @@ Source4: elilo-xcat-3.14-6.noarch.rpm # gnu-efi toolchain layout does not support elilo's build: ppc64le (no x86 EFI toolchain) and # EL8 (gnu-efi-devel places elf_x86_64_efi.lds under a path elilo's Makefile does not find). # elilo-x64.efi is a noarch artifact, so the prebuilt is byte-identical to the compiled one. -%if "%{_host_cpu}" == "ppc64le" || 0%{?rhel} == 8 +# Separate %ifarch / %if (NOT a single `... || ...` expression): the older rpm inside the EL8/EL9 +# mock chroot does not evaluate an `||` between a string compare and an arithmetic test the way +# EL10's rpm does, which silently left use_prebuilt unset and pulled in the gnu-efi BuildRequires. +%ifarch ppc64le +%global use_prebuilt 1 +%endif +%if 0%{?rhel} == 8 %global use_prebuilt 1 %endif BuildRequires: gcc