Message ID | 20220513133534.88564-1-anthony.perard@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [OSSTEST] ts-xen-build-prep: Grab newer NASM version, to build OVMF | expand |
On Fri, May 13, 2022 at 02:35:34PM +0100, Anthony PERARD wrote: > Recent versions of OVMF now need a version of NASM that is newer > than the one available on Debian oldstable/buster. They want to use > NASM 2.15.05 [1], which is available in Debian stable/bullseye. The > need to use a newer version started with d3febfd9ade3 ("MdePkg: > Replace Opcode with the corresponding instructions."). > > There is no backport package available but the nasm package from > Debian Bullseye can easily be installed on Buster as it has few > dependencies and are already satisfied. > > [1] https://github.com/tianocore/edk2/commit/6a890db161cd6d378bec3499a1e774db3f5a27a7 > ("BaseTools: Upgrade the version of NASM tool") > > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> A flight with my change: http://logs.test-lab.xenproject.org/osstest/logs/170388/ (ignore the failing "libvirt-build" jobs which shouldn't be part of the flight ;-) )
On Fri, May 13, 2022 at 02:35:34PM +0100, Anthony PERARD wrote: > Recent versions of OVMF now need a version of NASM that is newer > than the one available on Debian oldstable/buster. They want to use > NASM 2.15.05 [1], which is available in Debian stable/bullseye. The > need to use a newer version started with d3febfd9ade3 ("MdePkg: > Replace Opcode with the corresponding instructions."). > > There is no backport package available but the nasm package from > Debian Bullseye can easily be installed on Buster as it has few > dependencies and are already satisfied. > > [1] https://github.com/tianocore/edk2/commit/6a890db161cd6d378bec3499a1e774db3f5a27a7 > ("BaseTools: Upgrade the version of NASM tool") > > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> > --- > ts-xen-build-prep | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/ts-xen-build-prep b/ts-xen-build-prep > index 67b3eae62155..38d4a8e79451 100755 > --- a/ts-xen-build-prep > +++ b/ts-xen-build-prep > @@ -250,6 +250,15 @@ END > if ($ho->{Arch} eq 'amd64' && $ho->{Suite} !~ m/squeeze|lenny/) { > target_install_packages($ho, 'libc6-dev-i386'); > } > + > + # Use newer version of NASM, for OVMF > + if ($ho->{Suite} =~ m/buster/) { > + my $nasm_pkg = "nasm_2.15.05-1_$ho->{Arch}.deb"; > + my $nasm_url = debian_mirror_url_suite_arch("bullseye", $ho->{Arch}) > + ."/pool/main/n/nasm/$nasm_pkg"; > + target_fetchurl($ho, $nasm_url, "/tmp/$nasm_pkg"); I think this is likely too fragile, what will happen when the package gets bumped to a newer version? I think we need to store a local copy in osstest and install from there instead of trying to fetch from the upstream Debian mirror. I guess we could use something similar to DebianExtraPackages? DebianExtraPackages_build_$arch_$suite nasm_2.15.05-1_$ho->{Arch}.deb And fetch those using the some_extradebs method. Thanks, Roger.
Anthony PERARD writes ("[OSSTEST PATCH] ts-xen-build-prep: Grab newer NASM version, to build OVMF"): > Recent versions of OVMF now need a version of NASM that is newer > than the one available on Debian oldstable/buster. They want to use > NASM 2.15.05 [1], which is available in Debian stable/bullseye. The > need to use a newer version started with d3febfd9ade3 ("MdePkg: > Replace Opcode with the corresponding instructions."). > > There is no backport package available but the nasm package from > Debian Bullseye can easily be installed on Buster as it has few > dependencies and are already satisfied. I think this is a quite fine bodge. > + target_fetchurl($ho, $nasm_url, "/tmp/$nasm_pkg"); > + target_install_packages($ho, "/tmp/$nasm_pkg"); I don't think this use of /tmp is very nice. ts-xen-build-prep runs with the host all to itself, so I think you can use /root ? Ian.
Roger Pau Monné writes ("Re: [OSSTEST PATCH] ts-xen-build-prep: Grab newer NASM version, to build OVMF"): > I guess we could use something similar to DebianExtraPackages? > > DebianExtraPackages_build_$arch_$suite nasm_2.15.05-1_$ho->{Arch}.deb > > And fetch those using the some_extradebs method. Yes, I think this is better.
diff --git a/ts-xen-build-prep b/ts-xen-build-prep index 67b3eae62155..38d4a8e79451 100755 --- a/ts-xen-build-prep +++ b/ts-xen-build-prep @@ -250,6 +250,15 @@ END if ($ho->{Arch} eq 'amd64' && $ho->{Suite} !~ m/squeeze|lenny/) { target_install_packages($ho, 'libc6-dev-i386'); } + + # Use newer version of NASM, for OVMF + if ($ho->{Suite} =~ m/buster/) { + my $nasm_pkg = "nasm_2.15.05-1_$ho->{Arch}.deb"; + my $nasm_url = debian_mirror_url_suite_arch("bullseye", $ho->{Arch}) + ."/pool/main/n/nasm/$nasm_pkg"; + target_fetchurl($ho, $nasm_url, "/tmp/$nasm_pkg"); + target_install_packages($ho, "/tmp/$nasm_pkg"); + } } sub ccache_setup () {
Recent versions of OVMF now need a version of NASM that is newer than the one available on Debian oldstable/buster. They want to use NASM 2.15.05 [1], which is available in Debian stable/bullseye. The need to use a newer version started with d3febfd9ade3 ("MdePkg: Replace Opcode with the corresponding instructions."). There is no backport package available but the nasm package from Debian Bullseye can easily be installed on Buster as it has few dependencies and are already satisfied. [1] https://github.com/tianocore/edk2/commit/6a890db161cd6d378bec3499a1e774db3f5a27a7 ("BaseTools: Upgrade the version of NASM tool") Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> --- ts-xen-build-prep | 9 +++++++++ 1 file changed, 9 insertions(+)