[packages/efi-shell] up to 2.2, built from edk2 source
arekm
arekm at pld-linux.org
Sat Aug 1 13:49:34 CEST 2026
commit 28a50c83c71d6f04e432b03b66910dd21470ba01
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Sat Aug 1 13:46:53 2026 +0200
up to 2.2, built from edk2 source
prebuilt ShellBinPkg is gone from upstream; now compiled from edk2-stable202605
subpackages are noarch, built only on x86_64 - i686 gcc cannot emit X64
efi-shell-basetools-no-brotli.patch | 10 +++++
efi-shell.spec | 83 ++++++++++++++++++++++++-------------
2 files changed, 65 insertions(+), 28 deletions(-)
---
diff --git a/efi-shell.spec b/efi-shell.spec
index c792758..dee1735 100644
--- a/efi-shell.spec
+++ b/efi-shell.spec
@@ -1,62 +1,89 @@
-%define svnrev 13902
-Summary: Native UDK implementations of a UEFI Shell 2.0
-Summary(pl.UTF-8): Natywne implementacje UDK powłoki UEFI Shell 2.0
+%define edk2ver 202605
+# ShellPkg.dsc builds two Shell variants; this GUID is the one with every
+# command set linked in
+%define shellguid EA4BB293-2D7F-4456-A681-1F22F42CD0BC
+Summary: Native UDK implementations of a UEFI Shell 2.2
+Summary(pl.UTF-8): Natywne implementacje UDK powłoki UEFI Shell 2.2
Name: efi-shell
-Version: 2.0
-Release: 0.%{svnrev}.2
-License: BSD-like
+Version: 2.2
+Release: 0.%{edk2ver}.1
+License: BSD+patent
Group: Applications
-#https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg
-Source0: ShellBinPkg-r%{svnrev}.tar.bz2
-# Source0-md5: 00cdc30ad2e6267849be0a2b0c9901b2
+Source0: https://github.com/tianocore/edk2/archive/refs/tags/edk2-stable%{edk2ver}.tar.gz
+# Source0-md5: 56d8c7118661b737a0f1232cb0731915
Source1: shell_ia32.efi-boot-update
Source2: shell_x64.efi-boot-update
-URL: http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ShellPkg
-ExclusiveArch: %{ix86} %{x8664}
+Patch0: %{name}-basetools-no-brotli.patch
+URL: https://github.com/tianocore/edk2
+BuildRequires: gcc-c++
+BuildRequires: libuuid-devel
+BuildRequires: nasm
+BuildRequires: python3
+# both firmware binaries are cross-built from an x86_64 host
+ExclusiveArch: %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _enable_debug_packages 0
%description
-Native UDK implementations of a UEFI Shell 2.0.
+Native UDK implementations of a UEFI Shell 2.2.
%description -l pl.UTF-8
-Natywne implementacje UDK powłoki UEFI Shell 2.0.
+Natywne implementacje UDK powłoki UEFI Shell 2.2.
%package ia32
-Summary: Native UDK implementation of a UEFI Shell 2.0 for IA32
-Summary(pl.UTF-8): Natywna implementacja UDK powłoki UEFI Shell 2.0 dla IA32
+Summary: Native UDK implementation of a UEFI Shell 2.2 for IA32
+Summary(pl.UTF-8): Natywna implementacja UDK powłoki UEFI Shell 2.2 dla IA32
Group: Base
+BuildArch: noarch
%description ia32
-32-bit version of the native UDK implementation of a UEFI Shell 2.0
+32-bit version of the native UDK implementation of a UEFI Shell 2.2
(for IA32 architecture).
%description ia32 -l pl.UTF-8
-32-bitowa natywna implementacja UDK powłoki UEFI Shell 2.0 (dla
+32-bitowa natywna implementacja UDK powłoki UEFI Shell 2.2 (dla
architektury IA32).
%package x64
-Summary: Native UDK implementation of a UEFI Shell 2.0
-Summary(pl.UTF-8): Natywna implementacja UDK powłoki UEFI Shell 2.0 dla x64
+Summary: Native UDK implementation of a UEFI Shell 2.2
+Summary(pl.UTF-8): Natywna implementacja UDK powłoki UEFI Shell 2.2 dla x64
Group: Base
+BuildArch: noarch
%description x64
-64-bit version of the native UDK implemenations of a UEFI Shell 2.0
+64-bit version of the native UDK implemenations of a UEFI Shell 2.2
for x64 (x86_64) platform.
%description x64 -l pl.UTF-8
-64-bitowa natywna implementacja UDK powłoki UEFI Shell 2.0 dla
+64-bitowa natywna implementacja UDK powłoki UEFI Shell 2.2 dla
architektury x64 (x86_64).
%prep
-%setup -qn ShellBinPkg
+%setup -qn edk2-edk2-stable%{edk2ver}
+%patch -P0 -p1
+
+# .dec files declare include paths inside submodules that ShellPkg never
+# builds; the meta-data parser only checks that the directories exist
+install -d MdePkg/Library/MipiSysTLib/mipisyst/library/include \
+ MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/c/include
+
+%build
+export PYTHON_COMMAND=%{__python3}
+%{__make} -C BaseTools
+
+export WORKSPACE=$(pwd)
+export EDK_TOOLS_PATH=$WORKSPACE/BaseTools
+. ./edksetup.sh BaseTools
+
+build -a IA32 -a X64 -b RELEASE -t GCC -p ShellPkg/ShellPkg.dsc \
+ %{?__jobs:-n %{__jobs}}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/lib/efi/{ia32,x64},/etc/efi-boot/update.d}
-install UefiShell/Ia32/Shell.efi $RPM_BUILD_ROOT/lib/efi/ia32
-install UefiShell/X64/Shell.efi $RPM_BUILD_ROOT/lib/efi/x64
+install Build/Shell/RELEASE_GCC/IA32/Shell_%{shellguid}.efi $RPM_BUILD_ROOT/lib/efi/ia32/Shell.efi
+install Build/Shell/RELEASE_GCC/X64/Shell_%{shellguid}.efi $RPM_BUILD_ROOT/lib/efi/x64/Shell.efi
install %{SOURCE1} $RPM_BUILD_ROOT/etc/efi-boot/update.d/shell_ia32.conf
install %{SOURCE2} $RPM_BUILD_ROOT/etc/efi-boot/update.d/shell_x64.conf
@@ -77,12 +104,12 @@ rm -rf $RPM_BUILD_ROOT
%files ia32
%defattr(644,root,root,755)
-%doc License.txt ReadMe.txt Contributions.txt
+%doc License.txt ReadMe.rst
/lib/efi/ia32/Shell.efi
-/etc/efi-boot/update.d/shell_ia32.conf
+%config(noreplace) %verify(not md5 mtime size) /etc/efi-boot/update.d/shell_ia32.conf
%files x64
%defattr(644,root,root,755)
-%doc License.txt ReadMe.txt Contributions.txt
+%doc License.txt ReadMe.rst
/lib/efi/x64/Shell.efi
-/etc/efi-boot/update.d/shell_x64.conf
+%config(noreplace) %verify(not md5 mtime size) /etc/efi-boot/update.d/shell_x64.conf
diff --git a/efi-shell-basetools-no-brotli.patch b/efi-shell-basetools-no-brotli.patch
new file mode 100644
index 0000000..0495e34
--- /dev/null
+++ b/efi-shell-basetools-no-brotli.patch
@@ -0,0 +1,10 @@
+--- edk2-edk2-stable202605/BaseTools/Source/C/GNUmakefile.orig 2026-08-01 11:28:22.813753232 +0200
++++ edk2-edk2-stable202605/BaseTools/Source/C/GNUmakefile 2026-08-01 11:28:33.386789396 +0200
+@@ -23,7 +23,6 @@
+
+ LIBRARIES = Common
+ APPLICATIONS = \
+- BrotliCompress \
+ VfrCompile \
+ EfiRom \
+ GenFfs \
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/efi-shell.git/commitdiff/28a50c83c71d6f04e432b03b66910dd21470ba01
More information about the pld-cvs-commit
mailing list