Message ID | 20240325144440.1069662-1-kraxel@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | edk2: get version + date from git submodule | expand |
On Mon, 25 Mar 2024 at 14:45, 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. > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > roms/Makefile | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/roms/Makefile b/roms/Makefile > index edc234a0e886..534eba17ebd0 100644 > --- a/roms/Makefile > +++ b/roms/Makefile > @@ -51,6 +51,8 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu.org" > # efi ia32, efi x64) into a single rom binary. > # > EDK2_EFIROM = edk2/BaseTools/Source/C/bin/EfiRom > +EDK2_STABLE = $(shell cd edk2; git describe --tags --match 'edk2-stable*') > +EDK2_DATE = $(shell cd edk2; git show --pretty='format:%cd' --date='format:%m/%d/%Y'| head -1) I don't think there's any guarantee that the user has 'git' installed. scripts/qemu-version avoids using "git describe" unless it's building in a git tree. You can avoid the "| head -1" by using git log -1 --pretty='format:%cd' --date='format:%m/%d/%Y' I think. Also, does EDK2 really want month/day/year? Typically silly choice if so :-) thanks -- PMM
On Mon, Mar 25, 2024 at 02:55:11PM +0000, Peter Maydell wrote: > On Mon, 25 Mar 2024 at 14:45, 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. > > > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > > --- > > roms/Makefile | 7 +++++-- > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > diff --git a/roms/Makefile b/roms/Makefile > > index edc234a0e886..534eba17ebd0 100644 > > --- a/roms/Makefile > > +++ b/roms/Makefile > > @@ -51,6 +51,8 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu.org" > > # efi ia32, efi x64) into a single rom binary. > > # > > EDK2_EFIROM = edk2/BaseTools/Source/C/bin/EfiRom > > +EDK2_STABLE = $(shell cd edk2; git describe --tags --match 'edk2-stable*') > > +EDK2_DATE = $(shell cd edk2; git show --pretty='format:%cd' --date='format:%m/%d/%Y'| head -1) > > I don't think there's any guarantee that the user has 'git' > installed. scripts/qemu-version avoids using "git describe" > unless it's building in a git tree. Hmm. Have to figure something else then I guess. > You can avoid the "| head -1" by using > git log -1 --pretty='format:%cd' --date='format:%m/%d/%Y' > I think. Works. Thanks. > Also, does EDK2 really want month/day/year? Typically silly > choice if so :-) Yes. It's the smbios spec being silly btw, this lands more or less directly in /sys/class/dmi/id/bios_date. edk2 itself doesn't care. take care, Gerd
On Mon, 25 Mar 2024 at 14:45, 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. > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > roms/Makefile | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/roms/Makefile b/roms/Makefile > index edc234a0e886..534eba17ebd0 100644 > --- a/roms/Makefile > +++ b/roms/Makefile > @@ -51,6 +51,8 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu.org" > # efi ia32, efi x64) into a single rom binary. > # > EDK2_EFIROM = edk2/BaseTools/Source/C/bin/EfiRom > +EDK2_STABLE = $(shell cd edk2; git describe --tags --match 'edk2-stable*') > +EDK2_DATE = $(shell cd edk2; git show --pretty='format:%cd' --date='format:%m/%d/%Y'| head -1) > > default help: > @echo "nothing is build by default" > @@ -149,8 +151,9 @@ skiboot: > > efi: > $(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 Hi -- I've just noticed that we never made this change to automate the date/version for EDK2 ROMs, but we also never updated the version by hand. So at the moment we ship an EDK2 blob that wrongly claims to be an older version. See this bug report by a user: https://gitlab.com/qemu-project/qemu/-/issues/2233 Is it possible to fix this for 9.0? thanks -- PMM
Hi, > > + --version-override "$(EDK2_STABLE)-for-qemu" \ > > + --release-date "$(EDK2_DATE)" \ > > Hi -- I've just noticed that we never made this change to > automate the date/version for EDK2 ROMs, but we also never > updated the version by hand. So at the moment we ship an > EDK2 blob that wrongly claims to be an older version. > See this bug report by a user: > > https://gitlab.com/qemu-project/qemu/-/issues/2233 > > Is it possible to fix this for 9.0? I've posted v2 (series) a while back, no feedback so far. https://lore.kernel.org/qemu-devel/20240327102448.61877-1-kraxel@redhat.com/ If there are no objections I can do a PR for these three patches plus an edk2 binary rebuild (which shouldn't change anything but the version string). take care, Gerd
On Tue, 9 Apr 2024 at 15:14, Gerd Hoffmann <kraxel@redhat.com> wrote: > > Hi, > > > > + --version-override "$(EDK2_STABLE)-for-qemu" \ > > > + --release-date "$(EDK2_DATE)" \ > > > > Hi -- I've just noticed that we never made this change to > > automate the date/version for EDK2 ROMs, but we also never > > updated the version by hand. So at the moment we ship an > > EDK2 blob that wrongly claims to be an older version. > > See this bug report by a user: > > > > https://gitlab.com/qemu-project/qemu/-/issues/2233 > > > > Is it possible to fix this for 9.0? > > I've posted v2 (series) a while back, no feedback so far. > > https://lore.kernel.org/qemu-devel/20240327102448.61877-1-kraxel@redhat.com/ > > If there are no objections I can do a PR for these three patches plus an > edk2 binary rebuild (which shouldn't change anything but the version > string). I guess that's safe enough, though the very-conservative choice would be to take just the EDK2 rebuild for 9.0. thanks -- PMM
On Tue, 9 Apr 2024 at 15:19, Peter Maydell <peter.maydell@linaro.org> wrote: > > On Tue, 9 Apr 2024 at 15:14, Gerd Hoffmann <kraxel@redhat.com> wrote: > > > > Hi, > > > > > > + --version-override "$(EDK2_STABLE)-for-qemu" \ > > > > + --release-date "$(EDK2_DATE)" \ > > > > > > Hi -- I've just noticed that we never made this change to > > > automate the date/version for EDK2 ROMs, but we also never > > > updated the version by hand. So at the moment we ship an > > > EDK2 blob that wrongly claims to be an older version. > > > See this bug report by a user: > > > > > > https://gitlab.com/qemu-project/qemu/-/issues/2233 > > > > > > Is it possible to fix this for 9.0? > > > > I've posted v2 (series) a while back, no feedback so far. > > > > https://lore.kernel.org/qemu-devel/20240327102448.61877-1-kraxel@redhat.com/ > > > > If there are no objections I can do a PR for these three patches plus an > > edk2 binary rebuild (which shouldn't change anything but the version > > string). > > I guess that's safe enough, though the very-conservative > choice would be to take just the EDK2 rebuild for 9.0. Would you be able to get a pullreq in for this before rc3? (I can delay rc3 by a day or so if necessary; I'd rather not have to do an rc4 if we can avoid it...) thanks -- PMM
On Tue, Apr 09, 2024 at 04:13:34PM +0100, Peter Maydell wrote: > On Tue, 9 Apr 2024 at 15:19, Peter Maydell <peter.maydell@linaro.org> wrote: > > > > On Tue, 9 Apr 2024 at 15:14, Gerd Hoffmann <kraxel@redhat.com> wrote: > > > > > > Hi, > > > > > > > > + --version-override "$(EDK2_STABLE)-for-qemu" \ > > > > > + --release-date "$(EDK2_DATE)" \ > > > > > > > > Hi -- I've just noticed that we never made this change to > > > > automate the date/version for EDK2 ROMs, but we also never > > > > updated the version by hand. So at the moment we ship an > > > > EDK2 blob that wrongly claims to be an older version. > > > > See this bug report by a user: > > > > > > > > https://gitlab.com/qemu-project/qemu/-/issues/2233 > > > > > > > > Is it possible to fix this for 9.0? > > > > > > I've posted v2 (series) a while back, no feedback so far. > > > > > > https://lore.kernel.org/qemu-devel/20240327102448.61877-1-kraxel@redhat.com/ > > > > > > If there are no objections I can do a PR for these three patches plus an > > > edk2 binary rebuild (which shouldn't change anything but the version > > > string). > > > > I guess that's safe enough, though the very-conservative > > choice would be to take just the EDK2 rebuild for 9.0. > > Would you be able to get a pullreq in for this before rc3? > (I can delay rc3 by a day or so if necessary; I'd rather > not have to do an rc4 if we can avoid it...) https://lore.kernel.org/qemu-devel/20240409162942.454419-1-kraxel@redhat.com/T/ take care, Gerd
25.03.2024 17:44, Gerd Hoffmann: > 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. Fixes: https://gitlab.com/qemu-project/qemu/-/issues/2233 Thanks, /mjt
diff --git a/roms/Makefile b/roms/Makefile index edc234a0e886..534eba17ebd0 100644 --- a/roms/Makefile +++ b/roms/Makefile @@ -51,6 +51,8 @@ SEABIOS_EXTRAVERSION="-prebuilt.qemu.org" # efi ia32, efi x64) into a single rom binary. # EDK2_EFIROM = edk2/BaseTools/Source/C/bin/EfiRom +EDK2_STABLE = $(shell cd edk2; git describe --tags --match 'edk2-stable*') +EDK2_DATE = $(shell cd edk2; git show --pretty='format:%cd' --date='format:%m/%d/%Y'| head -1) default help: @echo "nothing is build by default" @@ -149,8 +151,9 @@ skiboot: efi: $(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
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. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- roms/Makefile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)