On 15/06/2020 08.57, Philippe Mathieu-Daudé wrote: > The git-submodule.sh script is called by make and initialize the > submodules listed in the GIT_SUBMODULES variable generated by > ./configure. > > Add SLOF when we build the ppc64-softmmu target for the pSeries > machines (which use SLOF). This fixes: > > $ ( cd ${SRC_DIR} ; git submodule update --init roms/SLOF ) > Submodule 'roms/SLOF' (https://git.qemu.org/git/SLOF.git) registered for > path 'roms/SLOF' > Cloning into '/home/travis/build/user/qemu/roms/SLOF'... > fatal: unable to access 'https://git.qemu.org/git/SLOF.git/': Could not > resolve host: git.qemu.org > fatal: clone of 'https://git.qemu.org/git/SLOF.git' into submodule path > '/home/travis/build/user/qemu/roms/SLOF' failed > Failed to clone 'roms/SLOF'. Retry scheduled > Cloning into '/home/travis/build/user/qemu/roms/SLOF'... > fatal: unable to access 'https://git.qemu.org/git/SLOF.git/': Could not > resolve host: git.qemu.org > fatal: clone of 'https://git.qemu.org/git/SLOF.git' into submodule path > '/home/travis/build/user/qemu/roms/SLOF' failed > Failed to clone 'roms/SLOF' a second time, aborting > The command "( cd ${SRC_DIR} ; git submodule update --init roms/SLOF )" > exited with 1. > > Reported-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > CI: https://travis-ci.org/github/philmd/qemu/jobs/698406512#L1596 > --- > configure | 12 ++++++++++++ > .travis.yml | 1 - > 2 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/configure b/configure > index 7c2adf36e5..f297a4b68f 100755 > --- a/configure > +++ b/configure > @@ -2248,6 +2248,18 @@ if test "$edk2_blobs" = "yes" && ! has bzip2; then > error_exit "The bzip2 program is required for building QEMU" > fi > > +################################### > +# SLOF is mandatory for the pSeries > +for target in $target_list; do > + case $target in > + ppc64-softmmu)
I know it's confusing, but actually, SLOF is not required for building ppc64-softmmu. It's required for building the s390-ccw firmware on s390x, since it is using the libnet code from SLOF for network booting. And that can only be built right now when we're on a s390x host and GCC is installed. There is already a check in configure (look for "Only build s390-ccw bios" ...), so I'd suggest that you add the git_submodules line there instead. Thanks, Thomas > + if test -e "${source_path}/.git" ; then > + git_submodules="${git_submodules} roms/SLOF" > + fi > + ;; > + esac > +done > + > feature_not_found() { > feature=$1 > remedy=$2 > diff --git a/.travis.yml b/.travis.yml > index ec6367af1f..220855c1f0 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -496,7 +496,6 @@ jobs: > - CONFIG="--disable-containers > --target-list=${MAIN_SOFTMMU_TARGETS},s390x-linux-user" > - UNRELIABLE=true > script: > - - ( cd ${SRC_DIR} ; git submodule update --init roms/SLOF ) > - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$? > - | > if [ "$BUILD_RC" -eq 0 ] ; then >