diff --git a/gnu-efi-3.0.15.tar.bz2 b/gnu-efi-3.0.15.tar.bz2 deleted file mode 100644 index ea2cd52..0000000 --- a/gnu-efi-3.0.15.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:931a257b9c5c1ba65ff519f18373c438a26825f2db7866b163e96d1b168f20ea -size 159399 diff --git a/gnu-efi-4.0.0.tar.gz b/gnu-efi-4.0.0.tar.gz new file mode 100644 index 0000000..2df0393 --- /dev/null +++ b/gnu-efi-4.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2e5dfd25e7fc0cd2027d75dc2517b4c74d94f801ff4784eca557ac1b9835899 +size 228852 diff --git a/gnu-efi-bsc1182057-support-sbat-section.patch b/gnu-efi-bsc1182057-support-sbat-section.patch deleted file mode 100644 index ea9cd50..0000000 --- a/gnu-efi-bsc1182057-support-sbat-section.patch +++ /dev/null @@ -1,96 +0,0 @@ -From fb52c3207282f1b8b5ca2f445210bbd00ac8f42a Mon Sep 17 00:00:00 2001 -From: Gary Lin -Date: Fri, 12 Mar 2021 15:35:08 +0800 -Subject: [PATCH 1/2] Update linker scripts to add .sbat section - -Signed-off-by: Gary Lin ---- - gnuefi/elf_aarch64_efi.lds | 9 +++++++++ - gnuefi/elf_arm_efi.lds | 9 +++++++++ - gnuefi/elf_x86_64_efi.lds | 10 ++++++++++ - 3 files changed, 28 insertions(+) - -diff --git a/gnuefi/elf_aarch64_efi.lds b/gnuefi/elf_aarch64_efi.lds -index 836d982..1ddec27 100644 ---- a/gnuefi/elf_aarch64_efi.lds -+++ b/gnuefi/elf_aarch64_efi.lds -@@ -46,6 +46,15 @@ SECTIONS - . = ALIGN(512); - _edata = .; - _data_size = . - _data; -+ . = ALIGN(4096); -+ .sbat : -+ { -+ _sbat = .; -+ *(.sbat) -+ *(.sbat.*) -+ } -+ _esbat = .; -+ _sbat_size = . - _sbat; - - . = ALIGN(4096); - .dynsym : { *(.dynsym) } -diff --git a/gnuefi/elf_arm_efi.lds b/gnuefi/elf_arm_efi.lds -index 665bbdb..d47a750 100644 ---- a/gnuefi/elf_arm_efi.lds -+++ b/gnuefi/elf_arm_efi.lds -@@ -46,6 +46,15 @@ SECTIONS - .rel.data : { *(.rel.data) *(.rel.data*) } - _edata = .; - _data_size = . - _etext; -+ . = ALIGN(4096); -+ .sbat : -+ { -+ _sbat = .; -+ *(.sbat) -+ *(.sbat.*) -+ } -+ _esbat = .; -+ _sbat_size = . - _sbat; - - . = ALIGN(4096); - .dynsym : { *(.dynsym) } -diff --git a/gnuefi/elf_x86_64_efi.lds b/gnuefi/elf_x86_64_efi.lds -index 7be5902..fad1939 100644 ---- a/gnuefi/elf_x86_64_efi.lds -+++ b/gnuefi/elf_x86_64_efi.lds -@@ -61,6 +61,16 @@ SECTIONS - *(.rela.got) - *(.rela.stab) - } -+ . = ALIGN(4096); -+ .sbat : -+ { -+ _sbat = .; -+ *(.sbat) -+ *(.sbat.*) -+ } -+ _esbat = .; -+ _sbat_size = . - _sbat; -+ - . = ALIGN(4096); - .dynsym : { *(.dynsym) } - . = ALIGN(4096); - ---- a/gnuefi/elf_ia32_efi.lds -+++ b/gnuefi/elf_ia32_efi.lds -@@ -72,6 +72,16 @@ SECTIONS - *(.reloc) - } - . = ALIGN(4096); -+ .sbat : -+ { -+ _sbat = .; -+ *(.sbat) -+ *(.sbat.*) -+ } -+ _esbat = .; -+ _sbat_size = . - _sbat; -+ -+ . = ALIGN(4096); - .dynsym : { *(.dynsym) } - . = ALIGN(4096); - .dynstr : { *(.dynstr) } - --- -2.29.2 diff --git a/gnu-efi-rpmlintrc b/gnu-efi-rpmlintrc deleted file mode 100644 index 0c60a8c..0000000 --- a/gnu-efi-rpmlintrc +++ /dev/null @@ -1,4 +0,0 @@ -addFilter(".*devel-file-in-non-devel-package.*") -addFilter(".*static-library-without-debuginfo.*") -addFilter(".*source-or-patch-not-compressed.*") -addFilter(".*source-or-patch-not-bzipped.*") diff --git a/gnu-efi.changes b/gnu-efi.changes index 8ac73d0..d4d6f16 100644 --- a/gnu-efi.changes +++ b/gnu-efi.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Sun Dec 8 15:28:22 UTC 2024 - Callum Farmer + +- Split into apps and devel packages +- Remove rpmlintrc: All errors are now fixed + +------------------------------------------------------------------- +Tue Dec 3 13:58:03 UTC 2024 - Callum Farmer + +- Update to gnu-efi 4.0.0: + * Add MP Services Protocol Support + * Add some more pkgconfig variables + * Replace 'Copright' with 'Copyright' + * Add clear documentation for building and packaging + * Align CRT0 exit function naming + * Now built and verified using GitHub Actions + * Fix SetMem/CopyMem again + * Move ReallocatePool/CompareGuid/CopyMem to EDK2 ABI + * Add non-objcopy CRT0/LDS for ARM64/RISCV64/IA32 +- Remove gnu-efi-bsc1182057-support-sbat-section.patch: + * no longer needed; fwupd-efi has been fixed upstream + (by me) + +------------------------------------------------------------------- +Thu Jun 29 14:18:10 UTC 2023 - Callum Farmer + +- Update to gnu-efi 3.0.18: + * Add pkgconfig file + * Make ELF constructors and destructors work + * Make CHAR8 and similar be defined the same way edk2 does it + * Switch to -fPIE + * Merge all rela sections into one +- gnu-efi-bsc1182057-support-sbat-section.patch: + * Restore ARM32 SBAT crt0 patch as binutils doesn't actually + support it + * Add SBAT support for RISC-V 64 + ------------------------------------------------------------------- Wed Oct 5 13:08:31 UTC 2022 - Callum Farmer diff --git a/gnu-efi.spec b/gnu-efi.spec index 4e8223c..d53ce78 100644 --- a/gnu-efi.spec +++ b/gnu-efi.spec @@ -1,7 +1,7 @@ # # spec file for package gnu-efi # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,15 +17,13 @@ Name: gnu-efi -Version: 3.0.15 +Version: 4.0.0 Release: 0 Summary: Library for EFI Applications License: BSD-3-Clause AND GPL-2.0-or-later Group: Development/Libraries/Other -URL: https://sourceforge.net/projects/gnu-efi -Source0: https://download.sourceforge.net/project/gnu-efi/gnu-efi-%{version}.tar.bz2 -Source1: %{name}-rpmlintrc -Patch0: gnu-efi-bsc1182057-support-sbat-section.patch +URL: https://github.com/ncroxon/gnu-efi +Source0: https://github.com/ncroxon/gnu-efi/archive/%{version}/%{name}-%{version}.tar.gz BuildRequires: kernel-source ExclusiveArch: ia64 %{ix86} x86_64 aarch64 %{arm} riscv64 @@ -34,33 +32,48 @@ Library to develop EFI applications for IA-64 (IPF), IA-32 (x86), x86_64, ARM-32, and ARM-64 platforms using the GNU toolchain and the EFI development environment. +%package devel +Summary: Development files for gnu-efi +Group: Development/Libraries/Other +Provides: gnu-efi = %{version}-%{release} +Obsoletes: gnu-efi < %{version}-%{release} + +%description devel +A package containing the development files for gnu-efi, +which is used for developing EFI applications using the GNU toolchain + +%package apps +Summary: Example and test files for gnu-efi +Group: Development/Tools/Other + +%description apps +A package containing the example and UEFI testing files created by gnu-efi + + %prep %autosetup -p1 %build -########################## -## DO NOT ADD RPM OPT FLAGS! THIS DOES NOT BUILD AGAINST GLIBC -## -########################## -# Trick spec-cleaner in avoiding a make_build expansion -%{_bindir}/make %{?_smp_mflags} LINUX_HEADERS=%{_prefix}/src/linux +# DO NOT ADD RPM OPTFLAGS! UEFI is freestanding only!! +%make_build LINUX_HEADERS=%{_prefix}/src/linux LIBDIR=%{_libdir} PREFIX=%{_prefix} %install -make install INSTALLROOT=%{buildroot} LIBDIR=%{_libdir} PREFIX=%{_prefix} -%if 0 -mkdir %{buildroot}%{_libdir}/%{name} -cp -p apps/*.efi %{buildroot}%{_libdir}/%{name} -%endif +%make_install INSTALLROOT=%{buildroot} LIBDIR=%{_libdir} PREFIX=%{_prefix} -%files -%doc README.* +%files devel %{_includedir}/efi %{_libdir}/crt0-efi-*.o %{_libdir}/elf_*_efi.lds +%ifarch %{ix86} riscv64 aarch64 +%{_libdir}/elf_*_efi_local.lds +%endif %{_libdir}/libefi.a %{_libdir}/libgnuefi.a -%if 0 -%{_libdir}/%{name} -%endif +%{_libdir}/pkgconfig/%{name}.pc + +%files apps +%doc README.md SECURITY.md docs/* +%license LICENSE licenses/* +%{_libdir}/gnuefi %changelog