qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] edk2 fails to compile in v4.0.0-rc2


From: Laszlo Ersek
Subject: Re: [Qemu-devel] edk2 fails to compile in v4.0.0-rc2
Date: Mon, 8 Apr 2019 11:42:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

On 04/08/19 11:09, Olaf Hering wrote:
> Am Mon, 8 Apr 2019 11:04:09 +0200
> schrieb Laszlo Ersek <address@hidden>:
>
>> This is not a QEMU build failure, but an issue in the downstream
>> packaging that not only tries to build QEMU, but performs a
>> maintainer build on binary artifacts.
>
> I'm sure everyone will rebuild the things from source that can be
> rebuilt.

Define "everyone".

- Every direct end-user of upstream QEMU? (That is, every human user
  that runs configure and make and make install?) Absolutely not. Those
  users are already not rebuilding the full contents of pc-bios. Look
  for INSTALL_BLOBS in the top-level makefile.

- Every *packager* / distribution that provides QEMU packages? Yes, they
  will definitely rebuild whatever they can from source. That's only
  prudent and ethical. That's what I called a "maintainer build".

> Who would ship random binary blobs from unknown origin?

I don't expect you to, and any of the patches related to the edk2
submodule don't force you to.

commit f590a812c21074e82228de3e1dfb57b75fc02b62
Author: Laszlo Ersek <address@hidden>
Date:   Mon Feb 4 17:03:22 2019 +0100

    roms: build the EfiRom utility from the roms/edk2 submodule

    Building the EfiRom utility from "roms/edk2/BaseTools" should make
    "roms/Makefile" more self-contained. Otherwise, we'd call the system-wide
    EfiRom for building the combined iPXE option ROMs, but call the sibling
    utilities from "roms/edk2/BaseTools" for building "roms/edk2" content.

Without this patch, if you ran "make -C roms", you'd use one instance of
EfiRom (from who knows where) for producing the combined iPXE oproms,
and another EfiRom, from the edk2.git submodule, for anything inside
that same edk2.git submodule that requires EfiRom. That's *wrong*.

- You are invoking "make -C roms" in QEMU, so you should use precisely
  the same EfiRom for all purposes that need EfiRom.

- And given that the EfiRom source code is available in the submodule,
  the one EfiRom used (for whatever purpose) should be *that* EfiRom
  (i.e., built from source).

If you need to inject specific compiler/linker flags, into the building
of EfiRom itself, you can already do that; you just need to update your
spec file to take advantage of that edk2 BaseTools build feature.

Laszlo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]