On Wed, 20 Mar 2019 at 15:31, Laszlo Ersek <ler...@redhat.com> wrote: > > Hi Peter, > > On 03/19/19 10:22, Peter Maydell wrote: > > On Mon, 18 Mar 2019 at 21:21, Philippe Mathieu-Daudé <f4...@amsat.org> > > wrote: > >> > >> Hi Peter, > >> > >> Le dim. 17 mars 2019 23:02, Peter Maydell <peter.mayd...@linaro.org> > >> a écrit : > >>> > >>> On Sun, 17 Mar 2019 at 20:29, Peter Maydell > >>> <peter.mayd...@linaro.org> wrote: > >>>> Hi; this fails to build on OSX and OpenBSD: > >>>> > >>>> UNXZ pc-bios/edk2-aarch64-code.fd.xz > >>>> /bin/sh: xz: command not found > >> > >> > >> I checked Travis builds for OSX. I suppose the Travis image has xz > >> pulled/pre-installed and yours doesn't. > > > > Yeah, I expect I could install xz from homebrew here. > > > >> I used to check on OpenBSD until realizing you are the only one doing > >> that. After having spent quite some time on it I removed it from my > >> list, thus missed this failure. EDK2 doesn't build on OpenBSD but > >> still this OS should be able to decompress the ROMs. > > > > At the moment I compile test it but don't 'make check' it > > (ie I just use the tests/vm/openbsd setup). > > > > We could probably not unreasonably add 'xz' to the > > build dependencies, > > I don't know how to do that, sorry. Are they tracked in some text file > perhaps? (I.e. for a human reader?)
Adding something to the build deps means: * checking that it is definitely available in all the host OSes that we support (or that there is a fallback path where configure detects that it is not present). We document the principles of which OSes/distros this is in qemu-doc.texi -- I'm not sure if there's a wiki page or similar which gives this in more concrete "version X of RHEL, version Y of SUSE" etc terms * ensuring that the images used for tests/vm (openbsd, netbsd, freebsd) have it installed. I'm not sure exactly how this works * checking that the various automated CI setups (travis, etc) have it installed. I don't know exactly how to do this -- ask the people listed in MAINTAINERS under "Build and test automation" (who should also know about the tests/vm stuff). They will also know if various dockerfiles in tests/docker need to be updated. * flagging it up in the pull request email so I know I might need to update the various machines where I do merge builds * updating the section of the Changelog on the wiki where we document build requirements once the change has gone into master > Ultimately I don't know how to satisfy this requirement either -- let > alone the OSX requirement, for which I can't even find a file under > "tests/vm". OSX in this case is one of the machines I deal with by hand for doing merges. (Also Travis tests OSX.) A question: does this absolutely have to be 'xz' and not bzip ? thanks -- PMM