All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Daniel P. Berrange" <berrange@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>
Cc: qemu devel list <qemu-devel@nongnu.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>,
	Shannon Zhao <shannon.zhaosl@gmail.com>
Subject: Re: [Qemu-devel] [PATCH 1/5] roms: add the edk2 project as a git submodule
Date: Mon, 21 Jan 2019 19:41:53 +0100	[thread overview]
Message-ID: <ed365666-30c8-b532-dda2-469178dc09be@redhat.com> (raw)
In-Reply-To: <9dc7319d-f383-e4e3-1750-115ae6c1d8eb@redhat.com>

On 01/21/19 12:25, Philippe Mathieu-Daudé wrote:
> Cc'ing Daniel & Alex.
> 
> On 1/18/19 11:33 PM, Laszlo Ersek wrote:
>> The roms/edk2 submodule can help with three goals:
>> - build the OVMF and ArmVirtQemu virtual UEFI firmware platforms (to be
>>   implemented later),
>> - build the EfiRom tool on the fly, which is used in roms/Makefile, for
>>   building the "efirom" target,
>> - build UEFI test applications (to be run in guests), for qtest support.
>>
>> Edk2 commit 85588389222a3636baf0f9ed8227f2434af4c3f9 stands for the latest
>> "stable tag", namely "edk2-stable201811".
>>
>> The edk2 repository tracks some binary files that should not be removed by
>> QEMU's top-level "make clean"; exempt the full pathnames from the "find"
>> command.
>>
>> Cc: "Michael S. Tsirkin" <mst@redhat.com>
>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> Cc: Gerd Hoffmann <kraxel@redhat.com>
>> Cc: Igor Mammedov <imammedo@redhat.com>
>> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
>> Cc: Shannon Zhao <shannon.zhaosl@gmail.com>
>> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
>> ---
>>  Makefile    | 6 +++++-
>>  .gitmodules | 3 +++
>>  roms/edk2   | 1 +
>>  3 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/Makefile b/Makefile
>> index dccba1dca27f..1f768e2bcf8f 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -602,7 +602,11 @@ clean:
>>  	rm -f config.mak op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
>>  	rm -f qemu-options.def
>>  	rm -f *.msi
>> -	find . \( -name '*.so' -o -name '*.dll' -o -name '*.mo' -o -name '*.[oda]' \) -type f -exec rm {} +
>> +	find . \( -name '*.so' -o -name '*.dll' -o -name '*.mo' -o -name '*.[oda]' \) -type f \
>> +		! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-aarch64.a \
>> +		! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-arm.a \
>> +		! -path ./roms/edk2/BaseTools/Source/Python/UPT/Dll/sqlite3.dll \
> 
> Hmm I never try in-tree builds and thought this rule was for the
> archived release out of git, so this wouldn't matter.

That's not correct; before I posted the series, I downloaded the
then-latest tarball release, and I saw that the roms/ submoule trees
were flattened into it. Try:

wget -O - -q https://download.qemu.org/qemu-3.1.0.tar.xz \
| tar -t --xz \
| grep roms/

> 
>> +		-exec rm {} +
>>  	rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) qemu-ga TAGS cscope.* *.pod *~ */*~
>>  	rm -f fsdev/*.pod scsi/*.pod
>>  	rm -f qemu-img-cmds.h
>> diff --git a/.gitmodules b/.gitmodules
>> index 6b91176098c8..ceafb0ee29a0 100644
>> --- a/.gitmodules
>> +++ b/.gitmodules
>> @@ -49,3 +49,6 @@
>>  [submodule "tests/fp/berkeley-softfloat-3"]
>>  	path = tests/fp/berkeley-softfloat-3
>>  	url = https://github.com/cota/berkeley-softfloat-3
>> +[submodule "roms/edk2"]
>> +	path = roms/edk2
>> +	url = https://github.com/tianocore/edk2.git
> 
> Indeed this is enough to build EfiRom.
> However if you want to build firmwares (your patch 4/5), the submodule
> is incomplete, until you manually run "submodule update --init --recursive".

That applies equally to the other submodules (firmware or otherwise)
that we have under roms/. Edk2 is not being added as a nested submodule,
it is a sibling; so whatever tooling covers e.g. roms/seabios and
roms/ipxe, the same tooling should cover roms/edk2 too.

> 
> I suggest the following change, Daniel/Alex what do you think?
> 
> -- >8 --
> diff --git a/scripts/git-submodule.sh b/scripts/git-submodule.sh
> index 98ca0f2737..5441fe3385 100755
> --- a/scripts/git-submodule.sh
> +++ b/scripts/git-submodule.sh
> @@ -71,7 +71,7 @@ update)
>          exit 0
>      fi
> 
> -    $GIT submodule update --init $modules 1>/dev/null
> +    $GIT submodule update --init --recursive $modules 1>/dev/null
>      test $? -ne 0 && error "failed to update modules"
> 
>      $GIT submodule status $modules > "${substat}"
> ---

This shouldn't make a difference, as edk2 is not a nested submodule of
another submodule; it is a submodule directly under the main
superproject, i.e. QEMU.

Thanks,
Laszlo

> 
>> diff --git a/roms/edk2 b/roms/edk2
>> new file mode 160000
>> index 000000000000..85588389222a
>> --- /dev/null
>> +++ b/roms/edk2
>> @@ -0,0 +1 @@
>> +Subproject commit 85588389222a3636baf0f9ed8227f2434af4c3f9
>>

  reply	other threads:[~2019-01-21 18:42 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-18 22:33 [Qemu-devel] [PATCH 0/5] add the BiosTablesTest UEFI app, build it with the new roms/edk2 submodule Laszlo Ersek
2019-01-18 22:33 ` [Qemu-devel] [PATCH 1/5] roms: add the edk2 project as a git submodule Laszlo Ersek
2019-01-21  7:35   ` Gerd Hoffmann
2019-01-21 11:25   ` Philippe Mathieu-Daudé
2019-01-21 18:41     ` Laszlo Ersek [this message]
2019-01-21 19:45       ` Philippe Mathieu-Daudé
2019-01-22 10:51         ` Laszlo Ersek
2019-01-18 22:33 ` [Qemu-devel] [PATCH 2/5] roms: build the EfiRom utility from the roms/edk2 submodule Laszlo Ersek
2019-01-21  7:35   ` Gerd Hoffmann
2019-01-21 11:27   ` Philippe Mathieu-Daudé
2019-01-21 11:37     ` Philippe Mathieu-Daudé
2019-01-21 18:34       ` Laszlo Ersek
2019-01-21 18:33     ` Laszlo Ersek
2019-01-18 22:33 ` [Qemu-devel] [PATCH 3/5] tests: introduce "uefi-test-tools" with the BiosTablesTest UEFI app Laszlo Ersek
2019-01-18 22:33 ` [Qemu-devel] [PATCH 4/5] tests/uefi-test-tools: add build scripts Laszlo Ersek
2019-01-21 12:17   ` Philippe Mathieu-Daudé
2019-01-21 19:05     ` Laszlo Ersek
2019-01-21 19:30       ` Peter Maydell
2019-01-22 12:02         ` Laszlo Ersek
2019-01-23 16:13           ` Laszlo Ersek
2019-01-24 17:05             ` Laszlo Ersek
2019-01-18 22:34 ` [Qemu-devel] [PATCH 5/5] tests/data: introduce "uefi-boot-images" with the "bios-tables-test" ISOs Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ed365666-30c8-b532-dda2-469178dc09be@redhat.com \
    --to=lersek@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=berrange@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=mst@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=shannon.zhaosl@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.