[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] roms/Makefile.edk2: don't pull in submodule
From: |
Laszlo Ersek |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] roms/Makefile.edk2: don't pull in submodules when building from tarball |
Date: |
Tue, 24 Sep 2019 22:47:06 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
On 09/20/19 21:50, Philippe Mathieu-Daudé wrote:
> On 9/13/19 1:12 AM, Michael Roth wrote:
>> Currently the `make efi` target pulls submodules nested under the
>> roms/edk2 submodule as dependencies. However, when we attempt to build
>> from a tarball this fails since we are no longer in a git tree.
>>
>> A preceding patch will pre-populate these submodules in the tarball,
>> so assume this build dependency is only needed when building from a
>> git tree.
>>
>> Reported-by: Bruce Rogers <address@hidden>
>> Cc: Laszlo Ersek <address@hidden>
>> Cc: Bruce Rogers <address@hidden>
>> Cc: address@hidden # v4.1.0
>> Signed-off-by: Michael Roth <address@hidden>
>> ---
>> roms/Makefile.edk2 | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/roms/Makefile.edk2 b/roms/Makefile.edk2
>> index c2f2ff59d5..33a074d3a4 100644
>> --- a/roms/Makefile.edk2
>> +++ b/roms/Makefile.edk2
>> @@ -46,8 +46,13 @@ all: $(foreach
>> flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd.bz2) \
>> # files.
>> .INTERMEDIATE: $(foreach
>> flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd)
>>
>> +# Fetch edk2 submodule's submodules. If it is not in a git tree, assume
>> +# we're building from a tarball and that they've already been fetched by
>> +# make-release/tarball scripts.
>
> Annoying, without using the make-release tool in a fresh clone, I get
> qemu/roms/edk2/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf(-1):
> error 000E: File/directory not found in workspace
>
> I vaguely remember there was a thread about not using 'git submodule
> update --init --recursive' in the root directory but can't find it, any
> idea?
I think that was a point made in the first patch of this series -- the
"--recursive" flag is unbounded, and it might pull in several unneeded
submodules.
For example, openssl itself appears to have three submodules (boringssl,
krb5, pyca-cryptography), and none of those is needed for building
openssl the way edk2 consumes it.
I seem to remember that patch#1 in this series stated: we'd be handling
the submodules on a case-by-case basis.
Thanks
Laszlo
>
>> submodules:
>> - cd edk2 && git submodule update --init --force
>> + if test -d edk2/.git; then \
>> + cd edk2 && git submodule update --init --force; \
>> + fi
>>
>> # See notes on the ".NOTPARALLEL" target and the "+" indicator in
>> # "tests/uefi-test-tools/Makefile".
>>