* [PATCH v3] configure: Let SLOF be initialized by ./scripts/git-submodule.sh
@ 2020-06-15 7:49 Philippe Mathieu-Daudé
2020-06-15 8:13 ` Thomas Huth
2020-06-15 9:19 ` Daniel P. Berrangé
0 siblings, 2 replies; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-15 7:49 UTC (permalink / raw)
To: qemu-devel
Cc: Fam Zheng, Thomas Huth, Alex Bennée, Cornelia Huck,
Mark Cave-Ayland, Philippe Mathieu-Daudé, qemu-s390x,
Philippe Mathieu-Daudé
The git-submodule.sh script is called by make and initialize the
submodules listed in the GIT_SUBMODULES variable generated by
./configure.
SLOF is required for building the s390-ccw firmware on s390x, since
it is using the libnet code from SLOF for network booting.
Add it to the GIT_SUBMODULES when buildint the s390-ccw firmware,
to fix:
$ ( 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>
Suggested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
configure | 5 +++++
.travis.yml | 1 -
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index bb7fd12612..927e4a3d06 100755
--- a/configure
+++ b/configure
@@ -6533,6 +6533,11 @@ if test "$cpu" = "s390x" ; then
write_c_skeleton
if compile_prog "-march=z900" ""; then
roms="$roms s390-ccw"
+ # SLOF is required for building the s390-ccw firmware on s390x,
+ # since it is using the libnet code from SLOF for network booting.
+ if test -e "${source_path}/.git" ; then
+ git_submodules="${git_submodules} roms/SLOF"
+ fi
fi
fi
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
--
2.21.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3] configure: Let SLOF be initialized by ./scripts/git-submodule.sh
2020-06-15 7:49 [PATCH v3] configure: Let SLOF be initialized by ./scripts/git-submodule.sh Philippe Mathieu-Daudé
@ 2020-06-15 8:13 ` Thomas Huth
2020-06-15 8:28 ` Philippe Mathieu-Daudé
2020-06-15 9:19 ` Daniel P. Berrangé
1 sibling, 1 reply; 6+ messages in thread
From: Thomas Huth @ 2020-06-15 8:13 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Fam Zheng, Alex Bennée, Cornelia Huck, Mark Cave-Ayland,
qemu-s390x, Philippe Mathieu-Daudé
On 15/06/2020 09.49, 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.
>
> SLOF is required for building the s390-ccw firmware on s390x, since
> it is using the libnet code from SLOF for network booting.
>
> Add it to the GIT_SUBMODULES when buildint the s390-ccw firmware,
s/buildint/building/
> to fix:
>
> $ ( 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.
I still somehow doubt that this will really fix the issue that you've
seen here (why should it matter where the submodule is checked out?),
but the patch is a good idea anyway, so:
Reviewed-by: Thomas Huth <thuth@redhat.com>
> Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Suggested-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> configure | 5 +++++
> .travis.yml | 1 -
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index bb7fd12612..927e4a3d06 100755
> --- a/configure
> +++ b/configure
> @@ -6533,6 +6533,11 @@ if test "$cpu" = "s390x" ; then
> write_c_skeleton
> if compile_prog "-march=z900" ""; then
> roms="$roms s390-ccw"
> + # SLOF is required for building the s390-ccw firmware on s390x,
> + # since it is using the libnet code from SLOF for network booting.
> + if test -e "${source_path}/.git" ; then
> + git_submodules="${git_submodules} roms/SLOF"
> + fi
> fi
> fi
>
> 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
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] configure: Let SLOF be initialized by ./scripts/git-submodule.sh
2020-06-15 8:13 ` Thomas Huth
@ 2020-06-15 8:28 ` Philippe Mathieu-Daudé
2020-06-15 9:55 ` Thomas Huth
0 siblings, 1 reply; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-06-15 8:28 UTC (permalink / raw)
To: Thomas Huth, qemu-devel
Cc: Fam Zheng, Alex Bennée, Cornelia Huck, Mark Cave-Ayland,
qemu-s390x, Philippe Mathieu-Daudé
On 6/15/20 10:13 AM, Thomas Huth wrote:
> On 15/06/2020 09.49, 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.
>>
>> SLOF is required for building the s390-ccw firmware on s390x, since
>> it is using the libnet code from SLOF for network booting.
>>
>> Add it to the GIT_SUBMODULES when buildint the s390-ccw firmware,
>
> s/buildint/building/
>
>> to fix:
>>
>> $ ( 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.
>
> I still somehow doubt that this will really fix the issue that you've
> seen here (why should it matter where the submodule is checked out?),
Yeah I still don't understand why the previous checkouts succeeded.
Is git.qemu.org cached by a CDN?
Maybe we can reduce the pressure by adding a 'prepare-sources' step,
then pass it as artifact within Travis-CI premises:
https://docs.travis-ci.com/user/build-stages/#specifying-stage-order-and-conditions
Alex, what do you think?
> but the patch is a good idea anyway, so:
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
>
>
>> Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
>> Suggested-by: Thomas Huth <thuth@redhat.com>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>> configure | 5 +++++
>> .travis.yml | 1 -
>> 2 files changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/configure b/configure
>> index bb7fd12612..927e4a3d06 100755
>> --- a/configure
>> +++ b/configure
>> @@ -6533,6 +6533,11 @@ if test "$cpu" = "s390x" ; then
>> write_c_skeleton
>> if compile_prog "-march=z900" ""; then
>> roms="$roms s390-ccw"
>> + # SLOF is required for building the s390-ccw firmware on s390x,
>> + # since it is using the libnet code from SLOF for network booting.
>> + if test -e "${source_path}/.git" ; then
>> + git_submodules="${git_submodules} roms/SLOF"
>> + fi
>> fi
>> fi
>>
>> 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
>>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] configure: Let SLOF be initialized by ./scripts/git-submodule.sh
2020-06-15 7:49 [PATCH v3] configure: Let SLOF be initialized by ./scripts/git-submodule.sh Philippe Mathieu-Daudé
2020-06-15 8:13 ` Thomas Huth
@ 2020-06-15 9:19 ` Daniel P. Berrangé
2020-06-15 9:44 ` Thomas Huth
1 sibling, 1 reply; 6+ messages in thread
From: Daniel P. Berrangé @ 2020-06-15 9:19 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Fam Zheng, Thomas Huth, Philippe Mathieu-Daudé,
Cornelia Huck, Mark Cave-Ayland, qemu-devel, qemu-s390x,
Alex Bennée
On Mon, Jun 15, 2020 at 09:49:19AM +0200, 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.
>
> SLOF is required for building the s390-ccw firmware on s390x, since
> it is using the libnet code from SLOF for network booting.
>
> Add it to the GIT_SUBMODULES when buildint the s390-ccw firmware,
> to fix:
>
> $ ( 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.
The "git-submodule.sh" script just invokes "git submodule". So if
you are getting DNS failures from "git submodule", using git-submodule.sh
instead is not going to fix the problem.
>
> Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Suggested-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> configure | 5 +++++
> .travis.yml | 1 -
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index bb7fd12612..927e4a3d06 100755
> --- a/configure
> +++ b/configure
> @@ -6533,6 +6533,11 @@ if test "$cpu" = "s390x" ; then
> write_c_skeleton
> if compile_prog "-march=z900" ""; then
> roms="$roms s390-ccw"
> + # SLOF is required for building the s390-ccw firmware on s390x,
> + # since it is using the libnet code from SLOF for network booting.
> + if test -e "${source_path}/.git" ; then
> + git_submodules="${git_submodules} roms/SLOF"
> + fi
> fi
> fi
This whole bit of configure looks a bit dubious.
For all the other firmware images we ship as pre-built blobs, we never
try to re-build them even if the host compiler supports it. So I don't
think we need to make SLOF special. If someone wants to build SLOF
they should do so explicitly. IOW, I'd just remove this code that
automatically enables rebuilds of it, which will presumable fix the
DNS problem by virtue of never running that code.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] configure: Let SLOF be initialized by ./scripts/git-submodule.sh
2020-06-15 9:19 ` Daniel P. Berrangé
@ 2020-06-15 9:44 ` Thomas Huth
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Huth @ 2020-06-15 9:44 UTC (permalink / raw)
To: Daniel P. Berrangé, Philippe Mathieu-Daudé
Cc: Fam Zheng, Philippe Mathieu-Daudé, Cornelia Huck,
Mark Cave-Ayland, qemu-devel, qemu-s390x, Alex Bennée
On 15/06/2020 11.19, Daniel P. Berrangé wrote:
> On Mon, Jun 15, 2020 at 09:49:19AM +0200, 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.
>>
>> SLOF is required for building the s390-ccw firmware on s390x, since
>> it is using the libnet code from SLOF for network booting.
>>
>> Add it to the GIT_SUBMODULES when buildint the s390-ccw firmware,
>> to fix:
>>
>> $ ( 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.
>
> The "git-submodule.sh" script just invokes "git submodule". So if
> you are getting DNS failures from "git submodule", using git-submodule.sh
> instead is not going to fix the problem.
>
>>
>> Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
>> Suggested-by: Thomas Huth <thuth@redhat.com>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>> configure | 5 +++++
>> .travis.yml | 1 -
>> 2 files changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/configure b/configure
>> index bb7fd12612..927e4a3d06 100755
>> --- a/configure
>> +++ b/configure
>> @@ -6533,6 +6533,11 @@ if test "$cpu" = "s390x" ; then
>> write_c_skeleton
>> if compile_prog "-march=z900" ""; then
>> roms="$roms s390-ccw"
>> + # SLOF is required for building the s390-ccw firmware on s390x,
>> + # since it is using the libnet code from SLOF for network booting.
>> + if test -e "${source_path}/.git" ; then
>> + git_submodules="${git_submodules} roms/SLOF"
>> + fi
>> fi
>> fi
>
> This whole bit of configure looks a bit dubious.
>
> For all the other firmware images we ship as pre-built blobs, we never
> try to re-build them even if the host compiler supports it.
All the other firmwares have separate projects and repositories, so it's
normal that we don't try to rebuild them from the QEMU repo. But the
s390-ccw firmware is part of the QEMU repository (for some good
reasons), so of course we should build it during the QEMU build process
if possible. And no, please don't suggest to move it to a separate
repository instead, IIRC we've had this discussion in the past already,
and it is easier if it stays in the current place.
> So I don't think we need to make SLOF special.
We are not talking about SLOF here. We are talking about the s390-ccw
firmware which is part of the QEMU repository (see pc-bios/s390-ccw). It
just requires the SLOF submodule for building its network booting part,
since it re-uses the network stack from SLOF.
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] configure: Let SLOF be initialized by ./scripts/git-submodule.sh
2020-06-15 8:28 ` Philippe Mathieu-Daudé
@ 2020-06-15 9:55 ` Thomas Huth
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Huth @ 2020-06-15 9:55 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Fam Zheng, Alex Bennée, Cornelia Huck, Mark Cave-Ayland,
qemu-s390x, Philippe Mathieu-Daudé
On 15/06/2020 10.28, Philippe Mathieu-Daudé wrote:
> On 6/15/20 10:13 AM, Thomas Huth wrote:
>> On 15/06/2020 09.49, 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.
>>>
>>> SLOF is required for building the s390-ccw firmware on s390x, since
>>> it is using the libnet code from SLOF for network booting.
>>>
>>> Add it to the GIT_SUBMODULES when buildint the s390-ccw firmware,
>>
>> s/buildint/building/
>>
>>> to fix:
>>>
>>> $ ( 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.
>>
>> I still somehow doubt that this will really fix the issue that you've
>> seen here (why should it matter where the submodule is checked out?),
>
> Yeah I still don't understand why the previous checkouts succeeded.
>
> Is git.qemu.org cached by a CDN?
Is it still failing for you? For me it works fine:
https://travis-ci.com/github/huth/qemu/jobs/349064333#L1531
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-06-15 9:56 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-15 7:49 [PATCH v3] configure: Let SLOF be initialized by ./scripts/git-submodule.sh Philippe Mathieu-Daudé
2020-06-15 8:13 ` Thomas Huth
2020-06-15 8:28 ` Philippe Mathieu-Daudé
2020-06-15 9:55 ` Thomas Huth
2020-06-15 9:19 ` Daniel P. Berrangé
2020-06-15 9:44 ` Thomas Huth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).