Message ID | 20200615065721.7873-1-f4bug@amsat.org |
---|---|
State | New |
Headers | show |
Series | [v2] configure: Let SLOF be initialized by ./scripts/git-submodule.sh | expand |
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-ayland@ilande.co.uk> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@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 >
On 6/15/20 9:31 AM, Thomas Huth wrote: > 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-ayland@ilande.co.uk> >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@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. I'v been looking at that and got confuse indeed, in particular because only the s390x container has this failure, but SLOF documentation only comments pSeries. Will respin. > > 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 >> >
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) + 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
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-ayland@ilande.co.uk> Signed-off-by: Philippe Mathieu-Daudé <f4bug@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(-)