Compare commits

...

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

10 changed files with 154 additions and 88 deletions

View File

@ -1 +1 @@
d8c779df5999416a0376754b7a8712d990aea547 SOURCES/efi-rpm-macros-3.tar.bz2
0c71e8e1736ec1f3d79e0d5757b178c66eed4ccb efi-rpm-macros-4.tar.bz2

9
.gitignore vendored
View File

@ -1 +1,8 @@
SOURCES/efi-rpm-macros-3.tar.bz2
*~
*.rpm
*.tar.*
.*.sw?
.build-*.log
efi-rpm-macros-*/
x86_64/
noarch/

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# efi-rpm-macros
The efi-rpm-macros package

View File

@ -1,74 +0,0 @@
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,15 +1,14 @@
Summary: Common RPM Macros for building EFI-related packages
Name: efi-rpm-macros
Version: 3
Release: 3%{?dist}
Group: Development/System
Version: 4
Release: 9%{?dist}
License: GPLv3+
URL: https://github.com/rhboot/%{name}/
BuildRequires: git sed
BuildRequires: make
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
Source0: https://github.com/rhboot/%{name}/releases/download/%{version}/%{name}-4.tar.bz2
%global debug_package %{nil}
%global _efi_vendor_ %(eval echo $(sed -n -e 's/rhel/redhat/' -e 's/^ID=//p' /etc/os-release))
@ -19,7 +18,6 @@ Patch0001: 0001-macros.efi-srpm-make-all-of-our-macros-always-expand.patch
%package -n efi-srpm-macros
Summary: Common SRPM Macros for building EFI-related packages
Group: Development/System
BuildArch: noarch
Requires: rpm
@ -28,7 +26,6 @@ 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
@ -37,13 +34,16 @@ The efi-filesystem package contains the basic directory layout for EFI
machine bootloaders and tools.
%prep
%autosetup -S git
%autosetup -S git -n %{name}-4
git config --local --add efi.vendor "%{_efi_vendor_}"
git config --local --add efi.esp-root /boot/efi
git config --local --add efi.arches "x86_64 aarch64 %{arm} %{ix86}"
%build
%make_build EFI_VENDOR=%{_efi_vendor_} clean all
%make_build clean all
%install
%make_install EFI_VENDOR=%{_efi_vendor_}
%make_install
#%%files
#%%{!?_licensedir:%%global license %%%%doc}
@ -56,6 +56,7 @@ machine bootloaders and tools.
%license LICENSE
%doc README
%{_rpmmacrodir}/macros.efi-srpm
%{_rpmconfigdir}/brp-boot-efi-times
%files -n efi-filesystem
%defattr(0700,root,root,-)
@ -65,9 +66,37 @@ machine bootloaders and tools.
%verify(not mode) %dir /boot/efi/EFI/%{_efi_vendor_}
%changelog
* Thu Nov 05 2020 Javier Martinez Canillas <javierm@redhat.com> - 3-3
* Mon Nov 08 2021 Robbie Harwood <rharwood@redhat.com> - 4-9
- Ignore the mode bits when doing RPM verification of files in /boot/efi
Resolves: rhbz#1845052
- Resolves: rhbz#1936384
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 4-8
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 4-7
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Sep 26 2018 Peter Jones <pjones@redhat.com> - 4-1
- Provide %%{efi_build_requires} and brp-boot-efi-times
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri May 04 2018 Peter Jones <pjones@redhat.com> - 3-2
- Always provide macros for efi_arch and efi_alt_arch (and their _upper
@ -94,6 +123,8 @@ machine bootloaders and tools.
* Tue May 01 2018 Peter Jones <pjones@redhat.com> - 2-2
- Fix the non-efi and non-efi-alt-arch cases, hopefully.
- Make efi-*-macros packages not be ExclusiveArch, because they need to work
in non-efi-arch packages.
* Tue May 01 2018 Peter Jones <pjones@redhat.com> - 2-1
- Lots of rpmlint fixups and the like.

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (efi-rpm-macros-4.tar.bz2) = 0c580902ec053d3bac167086a70fefd5785ddfd93873a48bb7801ab287b2b7af9db325a1f6e3609ad996656cfff713f741f911d012e89b48250ae108fedb789c

View File

@ -0,0 +1,58 @@
#!/bin/bash
# exit when any command fails
set -e
declare -A archs
archs[ia64]="efi_alt_arch=none
efi_alt_arch_upper=NONE
efi_arch=ia64
efi_arch_upper=IA64
efi_has_alt_arch=00
efi_has_arch=01"
archs[x86_64]="efi_alt_arch=ia32
efi_alt_arch_upper=IA32
efi_arch=x64
efi_arch_upper=X64
efi_has_alt_arch=01
efi_has_arch=01"
archs["%{ix86}"]="efi_alt_arch=none
efi_alt_arch_upper=NONE
efi_arch=ia32
efi_arch_upper=IA32
efi_has_alt_arch=00
efi_has_arch=01"
archs[aarch64]="efi_alt_arch=none
efi_alt_arch_upper=NONE
efi_arch=aa64
efi_arch_upper=AA64
efi_has_alt_arch=00
efi_has_arch=01"
archs["%{arm}"]="efi_alt_arch=none
efi_alt_arch_upper=NONE
efi_arch=arm
efi_arch_upper=ARM
efi_has_alt_arch=00
efi_has_arch=01"
common="efi_esp_boot=/boot/efi/EFI/BOOT
efi_esp_dir=/boot/efi/EFI/redhat
efi_esp_efi=/boot/efi/EFI
efi_esp_root=/boot/efi
efi_vendor=redhat"
output=$(mktemp)
for arch in "${!archs[@]}"; do
echo "Testing ${arch}"
rpmbuild -bp --target ${arch}-redhat-linux test.spec \
| grep -A12 %prep > $output
for item in ${archs[$arch]}; do
grep ^$item $output
done
for item in ${common}; do
grep ^$item $output
done
echo ""
done

22
tests/test.spec Normal file
View File

@ -0,0 +1,22 @@
Name: test
Version: 1
Release: 1%{?dist}
Summary: test
License: None
%description
None
%prep
echo efi_alt_arch=%{efi_alt_arch}
echo efi_alt_arch_upper=%{efi_alt_arch_upper}
echo efi_arch=%{efi_arch}
echo efi_arch_upper=%{efi_arch_upper}
echo efi_esp_boot=%{efi_esp_boot}
echo efi_esp_dir=%{efi_esp_dir}
echo efi_esp_efi=%{efi_esp_efi}
echo efi_esp_root=%{efi_esp_root}
echo efi_has_alt_arch=%{efi_has_alt_arch}
echo efi_has_arch=%{efi_has_arch}
echo efi_srpm_macros_version=%{efi_srpm_macros_version}
echo efi_vendor=%{efi_vendor}

12
tests/tests.yml Normal file
View File

@ -0,0 +1,12 @@
---
- hosts: all
roles:
- role: standard-test-basic
tags:
- classic
required_packages:
- rpm-build
tests:
- rpm-macros:
dir: .
run: ./macros.efi-srpm_test.sh