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

Re: [Xen-devel] [PATCH] tools/firmware: update OVMF Makefile



On Mon, Jan 14, 2019 at 12:48:52PM +0100, Olaf Hering wrote:
> Am Mon, 14 Jan 2019 11:28:57 +0000
> schrieb Wei Liu <wei.liu2@xxxxxxxxxx>:
> 
> > Are you saying that the breakage is shown when you put a snapshot of
> > ovmf under xen.git? How does ovmf distribute their snapshot? How is that
> > generated? Does it contain snapshots of submodules it needs already?
> 
> I export all required sources recursively and store them in the appropriate 
> directories.
> qemu itself requires only the keycodemapdb, it does no download-on-demand.
> 
> And now that I had a chance to look at the sources, qemu-xen-dir-find calls a 
> custom script that will do nothing if the <dir>-remote already exists.
> 
> I think instead of changing the custom Makefile, the submodules have to be 
> handled in git-checkout.sh which is invoked by ovmf-dir.

I'm not sure if that's a good idea, we would end up downloading a lot of
data for just one submodules that xen.git needs. (QEMU as quite a few
submodules that are never needed).

Also, git-checkout.sh isn't the only place where `git` is called. All
the *-force-update targets calls git without the script, `mktarball`
is another script that calls git.

I think it's fine to keep the current `submodule update` call where it
is. We could just make it check that it's an actual git worktree by
checking for the presence of ".git" (file or directory) before executing
git.

Would that be good enough?

> If I remember correctly, when keycodemapdb became a hard requirement nothing 
> in xen.git was adjusted.

That's not exactly true, we had to adjust the `src-tarball-release` make
target to dl QEMU's submodules (or rather call QEMU's own release
tarball script).

And qemu.git and edk2.git are different. QEMU's build
system takes care of its own submodules, like xen.git does,
dl-on-demand. edk2.git doesn't do anything and let the developper
download openssl on its own, either via git submodule or by dl a
specific release of openssl[1].

[1] https://github.com/tianocore/tianocore.github.io/wiki/UDK2018-How-to-Build

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.