Turned out hard-coding version and date in the Makefile wasn't a bright
idea. Updating it on edk2 updates is easily forgotten. Fetch the info
from git instead. Store in edk2-version, so this can be committed to
the repo and is present in tarballs too.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
roms/Makefile | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/roms/Makefile b/roms/Makefile
index edc234a0e886..783a5cab4f4c 100644
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -52,6 +52,8 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu.org"
#
EDK2_EFIROM = edk2/BaseTools/Source/C/bin/EfiRom
+-include edk2-version
+
default help:
@echo "nothing is build by default"
@echo "available build targets:"
@@ -147,10 +149,19 @@ skiboot:
$(MAKE) -C skiboot CROSS=$(powerpc64_cross_prefix)
cp skiboot/skiboot.lid ../pc-bios/skiboot.lid
-efi:
+edk2-version: edk2
+ if test -e edk2/.git; then \
+ echo "EDK2_STABLE = $$(cd edk2; git describe --tags --match 'edk2-stable*')" > $@; \
+ echo "EDK2_DATE = $$(cd edk2; git log -1 --pretty='format:%cd' --date='format:%m/%d/%Y')" >> $@; \
+ else \
+ touch $@; \
+ fi
+
+efi: edk2-version
$(PYTHON) edk2-build.py --config edk2-build.config \
- --version-override "edk2-stable202302-for-qemu" \
- --release-date "03/01/2023"
+ --version-override "$(EDK2_STABLE)-for-qemu" \
+ --release-date "$(EDK2_DATE)" \
+ --silent --no-logs
rm -f ../pc-bios/edk2-*.fd.bz2
bzip2 --verbose ../pc-bios/edk2-*.fd
--
2.44.0
On Wed, 27 Mar 2024 at 10:26, Gerd Hoffmann <kraxel@redhat.com> wrote: > > Turned out hard-coding version and date in the Makefile wasn't a bright > idea. Updating it on edk2 updates is easily forgotten. Fetch the info > from git instead. Store in edk2-version, so this can be committed to > the repo and is present in tarballs too. > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > roms/Makefile | 17 ++++++++++++++--- > 1 file changed, 14 insertions(+), 3 deletions(-) > > diff --git a/roms/Makefile b/roms/Makefile > index edc234a0e886..783a5cab4f4c 100644 > --- a/roms/Makefile > +++ b/roms/Makefile > @@ -52,6 +52,8 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu.org" > # > EDK2_EFIROM = edk2/BaseTools/Source/C/bin/EfiRom > > +-include edk2-version > + > default help: > @echo "nothing is build by default" > @echo "available build targets:" > @@ -147,10 +149,19 @@ skiboot: > $(MAKE) -C skiboot CROSS=$(powerpc64_cross_prefix) > cp skiboot/skiboot.lid ../pc-bios/skiboot.lid > > -efi: > +edk2-version: edk2 > + if test -e edk2/.git; then \ > + echo "EDK2_STABLE = $$(cd edk2; git describe --tags --match 'edk2-stable*')" > $@; \ > + echo "EDK2_DATE = $$(cd edk2; git log -1 --pretty='format:%cd' --date='format:%m/%d/%Y')" >> $@; \ > + else \ > + touch $@; \ > + fi > + > +efi: edk2-version Do we actually need this dependency, by the way? I think Make will rebuild edk2-version regardless because it's included (and it would be too late to rebuild it as merely a dependency of 'efi' here). > $(PYTHON) edk2-build.py --config edk2-build.config \ > - --version-override "edk2-stable202302-for-qemu" \ > - --release-date "03/01/2023" > + --version-override "$(EDK2_STABLE)-for-qemu" \ > + --release-date "$(EDK2_DATE)" \ > + --silent --no-logs > rm -f ../pc-bios/edk2-*.fd.bz2 > bzip2 --verbose ../pc-bios/edk2-*.fd > > -- > 2.44.0 -- PMM
© 2016 - 2026 Red Hat, Inc.