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 <[email protected]>
> ---
> 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.