From 4532585c244c3553653a99d5cb335f22e139ce61 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Fri, 4 May 2018 15:06:21 -0400 Subject: [PATCH] Always provide macros for efi_arch and efi_alt_arch (and their _upper variants), and make efi_has_arch and efi_has_alt_arch 0 when they will be wrong. This ensures everything can always expand when we're on a non-efi architecture. Signed-off-by: Peter Jones --- ...make-all-of-our-macros-always-expand.patch | 74 +++++++++++++++++++ efi-rpm-macros.spec | 9 ++- 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 0001-macros.efi-srpm-make-all-of-our-macros-always-expand.patch diff --git a/0001-macros.efi-srpm-make-all-of-our-macros-always-expand.patch b/0001-macros.efi-srpm-make-all-of-our-macros-always-expand.patch new file mode 100644 index 0000000..3e14b87 --- /dev/null +++ b/0001-macros.efi-srpm-make-all-of-our-macros-always-expand.patch @@ -0,0 +1,74 @@ +From 29e47cd8011b1569c4a73c8e395c7fb5192e6dc1 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Fri, 4 May 2018 15:02:14 -0400 +Subject: [PATCH] macros.efi-srpm: make all of our macros always expandable, + even if wrong + +In particular, arch and altarch give "none", and when they do efi_has_arch +and efi_has_alt_arch are 0 (respectively). if they're correct, they'll +be 1. + +Signed-off-by: Peter Jones +--- + macros.efi-srpm.in | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/macros.efi-srpm.in b/macros.efi-srpm.in +index 5f8a784af8a..f3b4c68b2f9 100644 +--- a/macros.efi-srpm.in ++++ b/macros.efi-srpm.in +@@ -38,7 +38,7 @@ + elseif arch("%{arm}") then + return("arm") + else +- return("") ++ return("none") + end + end + -- alt arch +@@ -46,24 +46,30 @@ + if arch("x86_64") then + return("ia32") + else +- return(nil) ++ return("none") + end + end + -- make some macros + local done = rpm.expand("%{?_efi}") + if done == nil or done == "" then ++ local arch = getarch() + local alt = getaltarch() + print("%global _efi @@EFI_ARCHES@@\\n") + print("%global _efi_vendor @@EFI_VENDOR@@\\n") ++ if arch == "none" then ++ print("%global _efi_has_arch 0\\n") ++ else ++ print("%global _efi_has_arch 1\\n") ++ end + print("%global _efi_arch " .. getarch() .. "\\n") + print("%global _efi_arch_upper " .. string.upper(getarch()) .. "\\n") +- if alt == nil then ++ if alt == "none" then + print("%global _efi_has_alt_arch 0\\n") + else + print("%global _efi_has_alt_arch 1\\n") +- print("%global _efi_alt_arch " .. alt .. "\\n") +- print("%global _efi_alt_arch_upper " .. string.upper(alt) .. "\\n") + end ++ print("%global _efi_alt_arch " .. alt .. "\\n") ++ print("%global _efi_alt_arch_upper " .. string.upper(alt) .. "\\n") + end + }} + +@@ -79,6 +85,7 @@ + + %efi_arch %{expand:%{_efi_srpm_macros_setup}}%{_efi_arch} + %efi_arch_upper %{expand:%{_efi_srpm_macros_setup}}%{_efi_arch_upper} ++%efi_has_arch %{expand:%{_efi_srpm_macros_setup}}0%{_efi_has_arch} + %efi_has_alt_arch %{expand:%{_efi_srpm_macros_setup}}0%{_efi_has_alt_arch} + %efi_alt_arch %{expand:%{_efi_srpm_macros_setup}}%{?_efi_alt_arch}%{nil} + %efi_alt_arch_upper %{expand:%{_efi_srpm_macros_setup}}%{?_efi_alt_arch_upper}%{nil} +-- +2.14.3 + diff --git a/efi-rpm-macros.spec b/efi-rpm-macros.spec index d4fcf21..261f529 100644 --- a/efi-rpm-macros.spec +++ b/efi-rpm-macros.spec @@ -1,7 +1,7 @@ Summary: Common RPM Macros for building EFI-related packages Name: efi-rpm-macros Version: 3 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/System License: GPLv3+ URL: https://github.com/rhboot/%{name}/ @@ -9,6 +9,7 @@ BuildRequires: git sed BuildArch: noarch Source0: https://github.com/rhboot/%{name}/releases/download/%{version}/%{name}-%{version}.tar.bz2 +Patch0001: 0001-macros.efi-srpm-make-all-of-our-macros-always-expand.patch %global debug_package %{nil} %global _efi_vendor_ %(eval sed -n -e 's/rhel/redhat/' -e 's/^ID=//p' /etc/os-release) @@ -64,6 +65,12 @@ machine bootloaders and tools. %dir /boot/efi/EFI/%{_efi_vendor_} %changelog +* Fri May 04 2018 Peter Jones - 3-2 +- Always provide macros for efi_arch and efi_alt_arch (and their _upper + variants), and make efi_has_arch and efi_has_alt_arch 0 when they will be + wrong. This ensures everything can always expand when we're on a non-efi + architecture. + * Fri May 04 2018 Peter Jones - 3-1 - Update to version 3 to try and un-break rawhide composes due to ExclusiveArch constraints.