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 <pjones@redhat.com>
This commit is contained in:
Peter Jones 2018-05-04 15:06:21 -04:00
parent 0f7f353dae
commit 4532585c24
2 changed files with 82 additions and 1 deletions

View File

@ -0,0 +1,74 @@
From 29e47cd8011b1569c4a73c8e395c7fb5192e6dc1 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
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 <pjones@redhat.com>
---
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

View File

@ -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 <pjones@redhat.com> - 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 <pjones@redhat.com> - 3-1
- Update to version 3 to try and un-break rawhide composes due to
ExclusiveArch constraints.