diff --git a/0001-Simplify-efi_arch_upper.patch b/0001-Simplify-efi_arch_upper.patch index d599f3d..3208ca1 100644 --- a/0001-Simplify-efi_arch_upper.patch +++ b/0001-Simplify-efi_arch_upper.patch @@ -1,7 +1,7 @@ From 8c4a55209bcb054b610c613ac2f1b2ad25253a20 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 1 May 2018 12:54:05 -0400 -Subject: [PATCH 1/5] Simplify %efi_arch_upper +Subject: [PATCH 01/11] Simplify %efi_arch_upper Signed-off-by: Peter Jones --- diff --git a/0002-Add-a-changelog-entry-to-the-.spec-for-version-2.patch b/0002-Add-a-changelog-entry-to-the-.spec-for-version-2.patch index f639ef3..89bfaed 100644 --- a/0002-Add-a-changelog-entry-to-the-.spec-for-version-2.patch +++ b/0002-Add-a-changelog-entry-to-the-.spec-for-version-2.patch @@ -1,7 +1,7 @@ From 4f7a7e6084bfbc28f194ab63a76239a622c7baad Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 1 May 2018 12:55:44 -0400 -Subject: [PATCH 2/5] Add a changelog entry to the .spec for version 2. +Subject: [PATCH 02/11] Add a changelog entry to the .spec for version 2. Signed-off-by: Peter Jones --- diff --git a/0003-efi-rpm-macros.spec.in-use-autosetup.patch b/0003-efi-rpm-macros.spec.in-use-autosetup.patch index 2387af3..58cfcad 100644 --- a/0003-efi-rpm-macros.spec.in-use-autosetup.patch +++ b/0003-efi-rpm-macros.spec.in-use-autosetup.patch @@ -1,7 +1,7 @@ From 341b613d7b920292129ae689e9f7588073a08431 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 1 May 2018 13:26:18 -0400 -Subject: [PATCH 3/5] efi-rpm-macros.spec.in: use autosetup +Subject: [PATCH 03/11] efi-rpm-macros.spec.in: use autosetup Signed-off-by: Peter Jones --- diff --git a/0004-Add-efi_alt_arch-and-efi_alt_arch_upper.patch b/0004-Add-efi_alt_arch-and-efi_alt_arch_upper.patch index 44b529e..d4d4a49 100644 --- a/0004-Add-efi_alt_arch-and-efi_alt_arch_upper.patch +++ b/0004-Add-efi_alt_arch-and-efi_alt_arch_upper.patch @@ -1,7 +1,7 @@ From d50b6eb13b00579e89747baa6a6be142930f3f94 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 1 May 2018 13:39:47 -0400 -Subject: [PATCH 4/5] Add %efi_alt_arch and %efi_alt_arch_upper +Subject: [PATCH 04/11] Add %efi_alt_arch and %efi_alt_arch_upper Signed-off-by: Peter Jones --- diff --git a/0005-Return-nil-instead-of-on-unsupported-arches.patch b/0005-Return-nil-instead-of-on-unsupported-arches.patch index 9000de9..df55748 100644 --- a/0005-Return-nil-instead-of-on-unsupported-arches.patch +++ b/0005-Return-nil-instead-of-on-unsupported-arches.patch @@ -1,7 +1,7 @@ From 1103d2ae35a3702b79b5dc32fc72b7b21711829e Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 1 May 2018 13:45:29 -0400 -Subject: [PATCH 5/5] Return %{nil} instead of "" on unsupported arches +Subject: [PATCH 05/11] Return %{nil} instead of "" on unsupported arches Signed-off-by: Peter Jones --- diff --git a/0006-efi_arch-turns-out-nil-is-definitely-not-what-we-wan.patch b/0006-efi_arch-turns-out-nil-is-definitely-not-what-we-wan.patch index 7354697..c976e41 100644 --- a/0006-efi_arch-turns-out-nil-is-definitely-not-what-we-wan.patch +++ b/0006-efi_arch-turns-out-nil-is-definitely-not-what-we-wan.patch @@ -1,7 +1,7 @@ From 3f4b280e8578d4de3d03b4af205106813a2fdbd1 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 1 May 2018 14:44:17 -0400 -Subject: [PATCH 6/6] %efi_arch: turns out %{nil} is definitely not what we +Subject: [PATCH 06/11] %efi_arch: turns out %{nil} is definitely not what we want. Signed-off-by: Peter Jones diff --git a/0007-Make-a-macros.efi-srpm-that-defines-efi.patch b/0007-Make-a-macros.efi-srpm-that-defines-efi.patch index 54afe94..1848e75 100644 --- a/0007-Make-a-macros.efi-srpm-that-defines-efi.patch +++ b/0007-Make-a-macros.efi-srpm-that-defines-efi.patch @@ -1,7 +1,7 @@ From 09efa919eb4a85bd77fe8d482f4c369e1fc29ed7 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Tue, 1 May 2018 15:42:01 -0400 -Subject: [PATCH 7/7] Make a macros.efi-srpm that defines %{efi} +Subject: [PATCH 07/11] Make a macros.efi-srpm that defines %{efi} Signed-off-by: Peter Jones --- diff --git a/0008-Add-efi_has_alt_arch-0-or-1.patch b/0008-Add-efi_has_alt_arch-0-or-1.patch index 7d66e58..0259a38 100644 --- a/0008-Add-efi_has_alt_arch-0-or-1.patch +++ b/0008-Add-efi_has_alt_arch-0-or-1.patch @@ -1,7 +1,7 @@ From a4358f78316160cf29e177daedf9562e6a0505f2 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 2 May 2018 10:09:19 -0400 -Subject: [PATCH 8/8] Add %{efi_has_alt_arch} ("0" or "1") +Subject: [PATCH 08/11] Add %{efi_has_alt_arch} ("0" or "1") Signed-off-by: Peter Jones --- diff --git a/0009-Add-efi-filesystem-subpackage.patch b/0009-Add-efi-filesystem-subpackage.patch index 7b6ad7f..04d31d6 100644 --- a/0009-Add-efi-filesystem-subpackage.patch +++ b/0009-Add-efi-filesystem-subpackage.patch @@ -1,7 +1,7 @@ From 309396c167bcd9ae6219e70e7e2b93ec5b773939 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 2 May 2018 10:48:28 -0400 -Subject: [PATCH 9/9] Add efi-filesystem subpackage +Subject: [PATCH 09/11] Add efi-filesystem subpackage Signed-off-by: Peter Jones --- diff --git a/0010-efi-rpm-macros.spec-don-t-use-efi-rpm-macros-definit.patch b/0010-efi-rpm-macros.spec-don-t-use-efi-rpm-macros-definit.patch index 7c33a4e..77011e5 100644 --- a/0010-efi-rpm-macros.spec-don-t-use-efi-rpm-macros-definit.patch +++ b/0010-efi-rpm-macros.spec-don-t-use-efi-rpm-macros-definit.patch @@ -1,7 +1,7 @@ From 625cc7b2fdba3e489865c42fddc48b72b3bfecd4 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 2 May 2018 11:26:04 -0400 -Subject: [PATCH 10/10] efi-rpm-macros.spec: don't use efi-rpm-macros +Subject: [PATCH 10/11] efi-rpm-macros.spec: don't use efi-rpm-macros definitions for paths Signed-off-by: Peter Jones diff --git a/0011-Do-it-differently.patch b/0011-Do-it-differently.patch new file mode 100644 index 0000000..10ae502 --- /dev/null +++ b/0011-Do-it-differently.patch @@ -0,0 +1,209 @@ +From 4031861b2964d24079827dea48a8e667cf96fd33 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Thu, 3 May 2018 09:38:48 -0400 +Subject: [PATCH 11/11] Do it differently. + +--- + Makefile | 5 ++-- + efi-rpm-macros.spec.in | 10 +++---- + macros.efi-srpm.in | 61 ++++++++++++++++++++++++++++++++++++++++- + macros.efi.in | 73 -------------------------------------------------- + 4 files changed, 68 insertions(+), 81 deletions(-) + +diff --git a/Makefile b/Makefile +index cf7cf956e8a..a3e20ec0bea 100644 +--- a/Makefile ++++ b/Makefile +@@ -18,7 +18,8 @@ EFI_ESP_ROOT ?= /boot/efi + EFI_ARCHES ?= x86_64 aarch64 %{arm} %{ix86} + EFI_VENDOR ?= + +-TARGETS = macros.efi macros.efi-srpm efi-rpm-macros.spec ++# TARGETS = macros.efi macros.efi-srpm efi-rpm-macros.spec ++TARGETS = macros.efi-srpm efi-rpm-macros.spec + + check_efi_vendor : + ifeq ($(EFI_VENDOR),) +@@ -34,7 +35,7 @@ clean : + install : | check_efi_vendor + install : $(TARGETS) + install -d -m 0755 $(DESTDIR)/$(MACRODIR) +- install -m 0644 macros.efi $(DESTDIR)/$(MACRODIR)/ ++ # install -m 0644 macros.efi $(DESTDIR)/$(MACRODIR)/ + install -m 0644 macros.efi-srpm $(DESTDIR)/$(MACRODIR)/ + if [[ "$(EFI_ESP_ROOT)" != /boot ]] ; then \ + install -d -m 0755 $(DESTDIR)/boot ; \ +diff --git a/efi-rpm-macros.spec.in b/efi-rpm-macros.spec.in +index 1835d20e08f..0ab82ca295d 100644 +--- a/efi-rpm-macros.spec.in ++++ b/efi-rpm-macros.spec.in +@@ -46,11 +46,11 @@ machine bootloaders and tools. + %install + %make_install EFI_VENDOR=%{_efi_vendor_} + +-%files +-%{!?_licensedir:%global license %%doc} +-%license LICENSE +-%doc README +-%{_rpmmacrodir}/macros.efi ++#%%files ++#%%{!?_licensedir:%%global license %%%%doc} ++#%%license LICENSE ++#%%doc README ++#%%{_rpmmacrodir}/macros.efi + + %files -n efi-srpm-macros + %{!?_licensedir:%global license %%doc} +diff --git a/macros.efi-srpm.in b/macros.efi-srpm.in +index 7192b07ba6c..2630f28e72e 100644 +--- a/macros.efi-srpm.in ++++ b/macros.efi-srpm.in +@@ -17,4 +17,63 @@ + # along with this program. If not, see . + # + +-%efi @@EFI_ARCHES@@ ++%_efi_rpm_macros_setup() %{expand:%{lua: ++ -- test if our arch matches ++ local function ifarch(archmacro) ++ local target = rpm.expand(" %{_target_cpu} ") ++ local arches = rpm.expand(" " .. archmacro .. " ") ++ local match = string.match(arches, target) ++ if not (match == nil) then ++ return true ++ end ++ end ++ -- give us the arch... ++ local function getarch() ++ if ifarch("ia64") then ++ return("ia64") ++ elseif ifarch("x86_64") then ++ return("x64") ++ elseif ifarch("%{ix86}") then ++ return("ia32") ++ elseif ifarch("aarch64") then ++ return("aa64") ++ elseif ifarch("%{arm}") then ++ return("arm") ++ end ++ end ++ -- alt arch ++ local function getaltarch() ++ if ifarch("x86_64") then ++ return("ia32") ++ else ++ return(nil) ++ end ++ end ++ -- make some macros ++ local done = rpm.expand("%{?_efi}") ++ if done == nil or done == "" then ++ local alt = getaltarch() ++ print("%global _efi @@EFI_ARCHES@@\\n") ++ print("%global _efi_vendor @@EFI_VENDOR@@\\n") ++ print("%global _efi_arch " .. getarch() .. "\\n") ++ print("%global _efi_arch_upper " .. string.upper(getarch()) .. "\\n") ++ if not (alt == nil or alt == "") then ++ print("%global _efi_alt_arch " .. alt .. "\\n") ++ print("%global _efi_alt_arch_upper " .. string.upper(alt) .. "\\n") ++ end ++ end ++}}%{expand:%{?_efi_alt_arch:%global efi_alt_arch %%{_efi_alt_arch}%global efi_alt_arch_upper %%{_efi_alt_arch_upper}}} ++ ++%efi_rpm_macros_version %{expand:%{_efi_rpm_macros_setup}}@@EFI_RPM_MACROS_VERSION@@ ++ ++%efi %{expand:%{_efi_rpm_macros_setup}}%{expand:%{_efi}} ++%efi_vendor %{expand:%{_efi_rpm_macros_setup}}%{expand:%{_efi_vendor}} ++ ++%efi_esp_root @@EFI_ESP_ROOT@@ ++%efi_esp_efi %{efi_esp_root}/EFI ++%efi_esp_boot %{efi_esp_efi}/BOOT ++%efi_esp_dir %{expand:%{_efi_rpm_macros_setup}}%{efi_esp_efi}/%{efi_vendor} ++ ++%efi_arch %{expand:%{_efi_rpm_macros_setup}}%{_efi_arch} ++%efi_arch_upper %{expand:%{_efi_rpm_macros_setup}}%{_efi_arch_upper} ++%efi_has_alt_arch %{expand:%{_efi_rpm_macros_setup}}0%{?_efi_alt_arch:1} +diff --git a/macros.efi.in b/macros.efi.in +index 66139a257d5..56c9ea0138a 100644 +--- a/macros.efi.in ++++ b/macros.efi.in +@@ -16,76 +16,3 @@ + # You should have received a copy of the GNU General Public License + # along with this program. If not, see . + # +- +-%efi @@EFI_ARCHES@@ +- +-%efi_vendor @@EFI_VENDOR@@ +- +-%efi_esp_root @@EFI_ESP_ROOT@@ +-%efi_esp_efi %{efi_esp_root}/EFI +-%efi_esp_boot %{efi_esp_efi}/BOOT +-%efi_esp_dir %{efi_esp_efi}/%{efi_vendor} +- +-%efi_arch %{lua: +--- test if our arch matches +-local function ifarch(archmacro) +- local target = rpm.expand(" %{_target_cpu} ") +- local arches = rpm.expand(" " .. archmacro .. " ") +- local match = string.match(arches, target) +- if not (match == nil) then +- return true +- end +-end +--- Do the work +-if ifarch("x86_64") then +- print("x64") +-elseif ifarch("%{ix86}") then +- print("ia32") +-elseif ifarch("aarch64") then +- print("aa64") +-elseif ifarch("%{arm}") then +- print("arm") +-elseif ifarch("ia64") then +- print("ia64") +-else +- rpm.expand("%%{error:Not an EFI architecture}") +- print("") +-end +-} +- +-%efi_arch_upper %{lua: +- local arch = rpm.expand("%{efi_arch}") +- print(string.upper(arch)) +-} +- +-%efi_alt_arch %{lua: +--- test if our arch matches +-local function ifarch(archmacro) +- local target = rpm.expand(" %{_target_cpu} ") +- local arches = rpm.expand(" " .. archmacro .. " ") +- local match = string.match(arches, target) +- if not (match == nil) then +- return true +- end +-end +--- Do the work +-if ifarch("x86_64") then +- print("ia32") +-else +- print("") +-end +-} +- +-%efi_alt_arch_upper %{lua: +- local arch = rpm.expand("%{efi_alt_arch}") +- print(string.upper(arch)) +-} +- +-%efi_has_alt_arch %{lua: +- local arch = rpm.expand("%{efi_alt_arch}") +- if arch == "" then +- print("0") +- else +- print("1") +- end +-} +-- +2.14.3 + diff --git a/efi-rpm-macros.spec b/efi-rpm-macros.spec index bc1072c..5d0c450 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: 2 -Release: 5%{?dist} +Release: 6%{?dist} Group: Development/System License: GPLv3+ URL: https://github.com/rhboot/%{name}/ @@ -21,6 +21,7 @@ Patch0007: 0007-Make-a-macros.efi-srpm-that-defines-efi.patch Patch0008: 0008-Add-efi_has_alt_arch-0-or-1.patch Patch0009: 0009-Add-efi-filesystem-subpackage.patch Patch0010: 0010-efi-rpm-macros.spec-don-t-use-efi-rpm-macros-definit.patch +Patch0011: 0011-Do-it-differently.patch %global debug_package %{nil} %global _efi_vendor_ %(eval sed -n -e 's/rhel/redhat/' -e 's/^ID=//p' /etc/os-release) @@ -56,11 +57,11 @@ machine bootloaders and tools. %install %make_install EFI_VENDOR=%{_efi_vendor_} -%files -%{!?_licensedir:%global license %%doc} -%license LICENSE -%doc README -%{_rpmmacrodir}/macros.efi +#%%files +#%%{!?_licensedir:%%global license %%%%doc} +#%%license LICENSE +#%%doc README +#%%{_rpmmacrodir}/macros.efi %files -n efi-srpm-macros %{!?_licensedir:%global license %%doc} @@ -76,6 +77,9 @@ machine bootloaders and tools. %dir /boot/efi/EFI/%{_efi_vendor_} %changelog +* Thu May 03 2018 Peter Jones - 2-6 +- Rework the macros for better srpm use. + * Wed May 02 2018 Peter Jones - 2-5 - Add efi-filesystem subpackage