commit c61c867a1ae80c78d4b5673261a6243366de7513 Author: overweight <5324761+overweight@user.noreply.gitee.com> Date: Mon Sep 30 10:37:56 2019 -0400 Package init 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-3.tar.bz2 b/efi-rpm-macros-3.tar.bz2 new file mode 100644 index 0000000..9f78aa7 Binary files /dev/null and b/efi-rpm-macros-3.tar.bz2 differ diff --git a/efi-rpm-macros.spec b/efi-rpm-macros.spec new file mode 100644 index 0000000..c014a5a --- /dev/null +++ b/efi-rpm-macros.spec @@ -0,0 +1,61 @@ +%global debug_package %{nil} +%global _efi_vendor_ %(eval sed -n -e 's/^ID=//p' /etc/os-release) +%global _efi_vendor_dir %(eval sed -n -e 's/^ID=//p' /etc/os-release | awk -F '"' '{print $2}') + +Name: efi-rpm-macros +Version: 3 +Release: 4 +Summary: A set of EFI-related RPM Macros +License: GPLv3+ +URL: https://github.com/rhboot/%{name}/ +Source0: https://github.com/rhboot/%{name}/releases/download/%{version}/%{name}-%{version}.tar.bz2 + +#patch backport from upstream community +Patch0001: 0001-macros.efi-srpm-make-all-of-our-macros-always-expand.patch +BuildRequires: git sed +BuildArch: noarch + +%description +Efi-rpm-macros help to build EFI-Related packages with a set of common RPM Macros. + +%package -n efi-srpm-macros +Summary: A set of EFI-related SRPM Macros +BuildArch: noarch +Requires: rpm + +%description -n efi-srpm-macros +Efi-srpm-macros help to build EFI-related packages with a set of common SRPM macros. + +%package -n efi-filesystem +Summary: Basic diretory layout of EFI machines +BuildArch: noarch +Requires: filesystem + +%description -n efi-filesystem +Efi-filesystem is the structure and logic rules used to manage the groups of +information of EIF machines, it contains the basic directory layout for EFI +machine bootloaders and tools. + +%prep +%autosetup -p1 + +%build +%make_build EFI_VENDOR=%{_efi_vendor_} clean all + +%install +%make_install EFI_VENDOR=%{_efi_vendor_} + +%files -n efi-srpm-macros +%license LICENSE +%doc README +%{_rpmmacrodir}/macros.efi-srpm + +%files -n efi-filesystem +%defattr(0700,root,root,-) +%dir /boot/efi/EFI/BOOT +%dir /boot/efi/EFI/%{_efi_vendor_dir} + +%changelog +* Tue Sep 17 2019 yanzhihua - 3-4 +- Package init. +