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
> 


Reply via email to