commit 1f948243b027926fd71d6dd16ee5568ace8dd75a Author: CentOS Sources Date: Tue May 7 00:39:42 2019 -0400 import efi-rpm-macros-3-2.el8 diff --git a/.efi-rpm-macros.metadata b/.efi-rpm-macros.metadata new file mode 100644 index 0000000..17dfecf --- /dev/null +++ b/.efi-rpm-macros.metadata @@ -0,0 +1 @@ +d8c779df5999416a0376754b7a8712d990aea547 SOURCES/efi-rpm-macros-3.tar.bz2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6672bc8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/efi-rpm-macros-3.tar.bz2 diff --git a/SOURCES/0001-macros.efi-srpm-make-all-of-our-macros-always-expand.patch b/SOURCES/0001-macros.efi-srpm-make-all-of-our-macros-always-expand.patch new file mode 100644 index 0000000..3e14b87 --- /dev/null +++ b/SOURCES/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/SPECS/efi-rpm-macros.spec b/SPECS/efi-rpm-macros.spec new file mode 100644 index 0000000..0e01b8a --- /dev/null +++ b/SPECS/efi-rpm-macros.spec @@ -0,0 +1,98 @@ +Summary: Common RPM Macros for building EFI-related packages +Name: efi-rpm-macros +Version: 3 +Release: 2%{?dist} +Group: Development/System +License: GPLv3+ +URL: https://github.com/rhboot/%{name}/ +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 echo $(sed -n -e 's/rhel/redhat/' -e 's/^ID=//p' /etc/os-release)) + +%description +%{name} provides a set of RPM macros for use in EFI-related packages. + +%package -n efi-srpm-macros +Summary: Common SRPM Macros for building EFI-related packages +Group: Development/System +BuildArch: noarch +Requires: rpm + +%description -n efi-srpm-macros +efi-srpm-macros provides a set of SRPM macros for use in EFI-related packages. + +%package -n efi-filesystem +Summary: The basic directory layout for EFI machines +Group: System Environment/Base +BuildArch: noarch +Requires: filesystem + +%description -n efi-filesystem +The efi-filesystem package contains the basic directory layout for EFI +machine bootloaders and tools. + +%prep +%autosetup -S git + +%build +%make_build EFI_VENDOR=%{_efi_vendor_} clean all + +%install +%make_install EFI_VENDOR=%{_efi_vendor_} + +#%%files +#%%{!?_licensedir:%%global license %%%%doc} +#%%license LICENSE +#%%doc README +#%%{_rpmmacrodir}/macros.efi + +%files -n efi-srpm-macros +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc README +%{_rpmmacrodir}/macros.efi-srpm + +%files -n efi-filesystem +%defattr(0700,root,root,-) +%dir /boot/efi +%dir /boot/efi/EFI +%dir /boot/efi/EFI/BOOT +%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. + +* 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 + +* Wed May 02 2018 Peter Jones - 2-4 +- Add %%{efi_has_alt_arch} + +* Tue May 01 2018 Peter Jones - 2-3 +- Make an efi-srpm-macros subpackage to pull in so %%{efi} works in + ExclusiveArch in koji. + +* Tue May 01 2018 Peter Jones - 2-2 +- Fix the non-efi and non-efi-alt-arch cases, hopefully. + +* Tue May 01 2018 Peter Jones - 2-1 +- Lots of rpmlint fixups and the like. + +* Mon Apr 30 2018 Peter Jones - 1-1 +- First shot at building it.