diff --git a/0030-BaseTools-fix-gcc12-warning.patch b/0030-BaseTools-fix-gcc12-warning.patch deleted file mode 100644 index ff687cd..0000000 --- a/0030-BaseTools-fix-gcc12-warning.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 84d64059dd0082609a43c7938a8a35e10da10706 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Mon, 24 Jan 2022 11:03:25 +0100 -Subject: [PATCH 30/32] BaseTools: fix gcc12 warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GenFfs.c:545:5: error: pointer ‘InFileHandle’ used after ‘fclose’ [-Werror=use-after-free] - 545 | Error(NULL, 0, 4001, "Resource", "memory cannot be allocated of %s", InFileHandle); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -GenFfs.c:544:5: note: call to ‘fclose’ here - 544 | fclose (InFileHandle); - | ^~~~~~~~~~~~~~~~~~~~~ - -Signed-off-by: Gerd Hoffmann ---- - BaseTools/Source/C/GenFfs/GenFfs.c | 2 +- - BaseTools/Source/C/GenSec/GenSec.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/BaseTools/Source/C/GenFfs/GenFfs.c b/BaseTools/Source/C/GenFfs/GenFfs.c -index 949025c33325..d78d62ab3689 100644 ---- a/BaseTools/Source/C/GenFfs/GenFfs.c -+++ b/BaseTools/Source/C/GenFfs/GenFfs.c -@@ -542,7 +542,7 @@ GetAlignmentFromFile(char *InFile, UINT32 *Alignment) - PeFileBuffer = (UINT8 *) malloc (PeFileSize); - if (PeFileBuffer == NULL) { - fclose (InFileHandle); -- Error(NULL, 0, 4001, "Resource", "memory cannot be allocated of %s", InFileHandle); -+ Error(NULL, 0, 4001, "Resource", "memory cannot be allocated for %s", InFile); - return EFI_OUT_OF_RESOURCES; - } - fread (PeFileBuffer, sizeof (UINT8), PeFileSize, InFileHandle); -diff --git a/BaseTools/Source/C/GenSec/GenSec.c b/BaseTools/Source/C/GenSec/GenSec.c -index d54a4f9e0a7d..b1d05367ec0b 100644 ---- a/BaseTools/Source/C/GenSec/GenSec.c -+++ b/BaseTools/Source/C/GenSec/GenSec.c -@@ -1062,7 +1062,7 @@ GetAlignmentFromFile(char *InFile, UINT32 *Alignment) - PeFileBuffer = (UINT8 *) malloc (PeFileSize); - if (PeFileBuffer == NULL) { - fclose (InFileHandle); -- Error(NULL, 0, 4001, "Resource", "memory cannot be allocated of %s", InFileHandle); -+ Error(NULL, 0, 4001, "Resource", "memory cannot be allocated for %s", InFile); - return EFI_OUT_OF_RESOURCES; - } - fread (PeFileBuffer, sizeof (UINT8), PeFileSize, InFileHandle); --- -2.35.1 - diff --git a/0031-BaseTools-fix-gcc12-warning.patch b/0031-BaseTools-fix-gcc12-warning.patch deleted file mode 100644 index c6cd39d..0000000 --- a/0031-BaseTools-fix-gcc12-warning.patch +++ /dev/null @@ -1,52 +0,0 @@ -From c537b93adc2dc2243c6e53dfbbe8cd10fb073b7a Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Mon, 24 Jan 2022 11:04:55 +0100 -Subject: [PATCH 31/32] BaseTools: fix gcc12 warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Sdk/C/LzmaEnc.c: In function ‘LzmaEnc_CodeOneMemBlock’: -Sdk/C/LzmaEnc.c:2828:19: error: storing the address of local variable ‘outStream’ in ‘*p.rc.outStream’ [-Werror=dangling-pointer=] - 2828 | p->rc.outStream = &outStream.vt; - | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ -Sdk/C/LzmaEnc.c:2811:28: note: ‘outStream’ declared here - 2811 | CLzmaEnc_SeqOutStreamBuf outStream; - | ^~~~~~~~~ -Sdk/C/LzmaEnc.c:2811:28: note: ‘pp’ declared here -Sdk/C/LzmaEnc.c:2828:19: error: storing the address of local variable ‘outStream’ in ‘*(CLzmaEnc *)pp.rc.outStream’ [-Werror=dangling-pointer=] - 2828 | p->rc.outStream = &outStream.vt; - | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ -Sdk/C/LzmaEnc.c:2811:28: note: ‘outStream’ declared here - 2811 | CLzmaEnc_SeqOutStreamBuf outStream; - | ^~~~~~~~~ -Sdk/C/LzmaEnc.c:2811:28: note: ‘pp’ declared here -cc1: all warnings being treated as errors - -Signed-off-by: Gerd Hoffmann ---- - BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c -index 4e9b499f8d80..4b9f5fa69248 100644 ---- a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c -+++ b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c -@@ -2825,12 +2825,13 @@ SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, BoolInt reInit, - - nowPos64 = p->nowPos64; - RangeEnc_Init(&p->rc); -- p->rc.outStream = &outStream.vt; - - if (desiredPackSize == 0) - return SZ_ERROR_OUTPUT_EOF; - -+ p->rc.outStream = &outStream.vt; - res = LzmaEnc_CodeOneBlock(p, desiredPackSize, *unpackSize); -+ p->rc.outStream = NULL; - - *unpackSize = (UInt32)(p->nowPos64 - nowPos64); - *destLen -= outStream.rem; --- -2.35.1 - diff --git a/0032-Basetools-turn-off-gcc12-warning.patch b/0032-Basetools-turn-off-gcc12-warning.patch deleted file mode 100644 index bfa7560..0000000 --- a/0032-Basetools-turn-off-gcc12-warning.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 15e8ff0438387a1737f136ab8f1ad513cfb52993 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Thu, 24 Mar 2022 10:28:45 +0100 -Subject: [PATCH 32/32] Basetools: turn off gcc12 warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In function ‘SetDevicePathEndNode’, - inlined from ‘FileDevicePath’ at DevicePathUtilities.c:857:5: -DevicePathUtilities.c:321:3: error: writing 4 bytes into a region of size 1 [-Werror=stringop-overflow=] - 321 | memcpy (Node, &mUefiDevicePathLibEndDevicePath, sizeof (mUefiDevicePathLibEndDevicePath)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from UefiDevicePathLib.h:22, - from DevicePathUtilities.c:16: -../Include/Protocol/DevicePath.h: In function ‘FileDevicePath’: -../Include/Protocol/DevicePath.h:51:9: note: destination object ‘Type’ of size 1 - 51 | UINT8 Type; ///< 0x01 Hardware Device Path. - | ^~~~ - -Signed-off-by: Gerd Hoffmann ---- - BaseTools/Source/C/DevicePath/GNUmakefile | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/BaseTools/Source/C/DevicePath/GNUmakefile b/BaseTools/Source/C/DevicePath/GNUmakefile -index 7ca08af9662d..b05d2bddfa68 100644 ---- a/BaseTools/Source/C/DevicePath/GNUmakefile -+++ b/BaseTools/Source/C/DevicePath/GNUmakefile -@@ -13,6 +13,9 @@ OBJECTS = DevicePath.o UefiDevicePathLib.o DevicePathFromText.o DevicePathUtili - - include $(MAKEROOT)/Makefiles/app.makefile - -+# gcc 12 trips over device path handling -+BUILD_CFLAGS += -Wno-error=stringop-overflow -+ - LIBS = -lCommon - ifeq ($(CYGWIN), CYGWIN) - LIBS += -L/lib/e2fsprogs -luuid --- -2.35.1 - diff --git a/README.md b/README.md index 864a430..2ecbc34 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # efifs -Free software EFI/UEFI standalone file system drivers, based on the GRUB 2.0 read-only drivers: AFFS (Amiga Fast FileSystem), BFS (BeOS FileSystem), btrfs, exFAT, ext2/ext3/ext4, F2FS (experimental), HFS and HFS+ (Mac OS, including the compression support), ISO9660, JFS (Journaled FileSystem), nilfs2, NTFS (including compression support), ReiserFS, SFS (Amiga Smart FileSystem), UDF, UFS/FFS, UFS2/FFS2, XFS, ZFS and more. \ No newline at end of file +Free software EFI/UEFI standalone file system drivers, based on the GRUB 2.0 read-only drivers: AFFS (Amiga Fast FileSystem), BFS (BeOS FileSystem), btrfs, exFAT, ext2/ext3/ext4, EROFS, F2FS, HFS and HFS+ (Mac OS, including compression support), ISO9660, JFS (Journaled FileSystem), nilfs2, NTFS (including compression support), ReiserFS, SFS (Amiga Smart FileSystem), UDF, UFS/FFS, UFS2/FFS2, XFS, ZFS and more. \ No newline at end of file diff --git a/efifs.spec b/efifs.spec index e49ad1a..948a61b 100644 --- a/efifs.spec +++ b/efifs.spec @@ -5,18 +5,18 @@ %global efi_vendor %{name} # Git commit mentioned at https://github.com/pbatard/efifs -%global grub2_version 2.11-0 -%global grub2_commit d9b4638c50b16d4722e66d334e2c1a674b4a45cc +%global grub2_version 2.13-0 +%global grub2_commit 6811f6f09d61996a3acbc4fc0414e45964f0e2d9 # Preferrably the latest stable version shipped in Fedora -%global edk2_stable_date 202205 -%global edk2_stable_str edk2-stable%{edk2_stable_date} +%global edk2_stable_date 20250221 +%global edk2_stable_str edk2-stable%(d=%{edk2_stable_date}; echo ${d:0:6}) Summary: Free software EFI/UEFI standalone file system drivers Name: efifs -Version: 1.9 -Release: 1%{?dist} -License: GPLv3+ +Version: 1.11 +Release: 4%{?dist} +License: GPL-3.0-or-later URL: https://efi.akeo.ie/ Source0: https://github.com/pbatard/efifs/archive/v%{version}/%{name}-%{version}.tar.gz # Fedora's grub2 RPM packages don't provide neither a -devel subpackage nor any @@ -29,6 +29,10 @@ Source2: https://github.com/tianocore/edk2/archive/%{edk2_stable_str}.tar Source3: efifs-enable.sh BuildRequires: gcc BuildRequires: gcc-c++ +%if 0%{?rhel} == 8 +# GCC >= 9.1 supports -mstack-protector-guard=global on aarch64 +BuildRequires: gcc-toolset-12 +%endif BuildRequires: make BuildRequires: libuuid-devel BuildRequires: python3 @@ -39,18 +43,19 @@ BuildRequires: efi-srpm-macros ExclusiveArch: %{efi} Requires: efi-filesystem Provides: bundled(grub2-efi-modules) = %{grub2_version}.git%(c=%{grub2_commit}; echo ${c:0:7}) -Provides: bundled(edk2-tools) = %{edk2_stable_date}01stable +Provides: bundled(edk2-tools) = %{edk2_stable_date} %description -Free software EFI/UEFI standalone file system drivers, based on the GRUB 2.0 -read-only drivers: AFFS (Amiga Fast FileSystem), BFS (BeOS FileSystem), btrfs, -exFAT, ext2/ext3/ext4, F2FS (experimental), HFS and HFS+ (Mac OS, including -the compression support), ISO9660, JFS (Journaled FileSystem), nilfs2, NTFS -(including compression support), ReiserFS, SFS (Amiga Smart FileSystem), UDF, -UFS/FFS, UFS2/FFS2, XFS, ZFS and more. +Free software EFI/UEFI standalone file system drivers, based on the GRUB +2.0 read-only drivers: AFFS (Amiga Fast FileSystem), BFS (BeOS FileSystem), +btrfs, exFAT, ext2/ext3/ext4, EROFS, F2FS, HFS and HFS+ (Mac OS, including +compression support), ISO9660, JFS (Journaled FileSystem), nilfs2, NTFS +(including compression support), ReiserFS, SFS (Amiga Smart FileSystem), +UDF, UFS/FFS, UFS2/FFS2, XFS, ZFS and more. %prep %setup -q -T -c %{name}-%{version} -a 0 -a 2 +mv -f EfiFs-%{version} %{name}-%{version} cp -p %{SOURCE3} . pushd %{name}-%{version} @@ -66,11 +71,18 @@ pushd edk2-%{edk2_stable_str} # Do not build BrotliCompress (because it's unused) sed -e '/BrotliCompress/d' -i BaseTools/Source/C/GNUmakefile +# Remove include path pointing to unused sub-module +sed -e '/mipisyst/d' -i MdePkg/MdePkg.dec + # Symlink EfiFs into EDK II build-time working directory ln -s ../%{name}-%{version} EfiFsPkg popd %build +%if 0%{?rhel} == 8 +. /opt/rh/gcc-toolset-12/enable +%endif + pushd edk2-%{edk2_stable_str} export PYTHON_COMMAND=%{__python3} %make_build -C BaseTools EXTRA_OPTFLAGS="$RPM_OPT_FLAGS" EXTRA_LDFLAGS="$RPM_LD_FLAGS" @@ -99,6 +111,36 @@ install -p -m 0700 edk2-%{edk2_stable_str}/Build/EfiFs/RELEASE_GCC5/%{efi_arch_u %{efi_esp_dir}/ %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 1.11-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat May 17 2025 Robert Scheck 1.11-3 +- Update bundled edk2 to 20250221 (#2340114) + +* Thu Jan 16 2025 Fedora Release Engineering - 1.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Dec 01 2024 Robert Scheck 1.11-1 +- Upgrade to 1.11 (#2290813) + +* Wed Jul 17 2024 Fedora Release Engineering - 1.9-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sun Jun 02 2024 Robert Scheck 1.9-6 +- Update bundled edk2 to 20240524 (#2284243) + +* Wed Jan 24 2024 Fedora Release Engineering - 1.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 1.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 1.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Tue Sep 06 2022 Robert Scheck 1.9-1 - Upgrade to 1.9 (#2124389) diff --git a/sources b/sources index 6777380..70ae576 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (efifs-1.9.tar.gz) = 5bca4eb4bc72b2a72f68176b4b47bafdbb962afea4b1c6af0e3144d388b2d3d64487b150b86af62edfabe819da8dd92961391fbe67bdf15f84f64875983efa72 -SHA512 (edk2-stable202205.tar.gz) = 0a0d0a8ad7cf23d77d9a6590ccf15e165224c1172e702e61efbf5056b7b62a78ac6dd3bcf2494871c852ee0e69d720db049fdd27e379c21cae64351ec9944428 -SHA512 (grub-d9b4638c50b16d4722e66d334e2c1a674b4a45cc.tar.gz) = 98edf3ec68d342ff2b0bcccfe07e9d7a0f8bf43079ad3dfef250d997b9606154759cfecfd7c450e0ad7b1ce272cf855e05b60f1eb55f50779f34fc748015a4f5 +SHA512 (efifs-1.11.tar.gz) = 2cd91abba8e33fe4e73a2da795b00126232c8fbd5da049255cbc3acc9c94d4c5b7067b1a24eb4403d5c384ca93770eb9a038b854f010238b85a63525c4cc0b3e +SHA512 (edk2-stable202502.tar.gz) = 1421b3e14acf6aa51c84cf0a12716990f08815fff631f4657bb9907fd8d620e9fac7794e05c2eed54d5f8966f8e9267d32bf2256237a959bd727629163b8c00d +SHA512 (grub-6811f6f09d61996a3acbc4fc0414e45964f0e2d9.tar.gz) = 73adfc7fd9c13ae40e14049904915e187a7b3ebfbe6a2b5b106df7a650771a384adcd3f907a29370b5194eefeff4011aa90a4d57100ca559c9d87b0c7540e140