From: "Daniel P. Berrange" <berrange@redhat.com>
To: Alexey Kardashevskiy <aik@ozlabs.ru>
Cc: qemu-devel@nongnu.org, "Eric Blake" <eblake@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: Re: [Qemu-devel] [PATCH v3 5/5] build: delay check for empty git submodule list
Date: Wed, 8 Nov 2017 09:02:33 +0000 [thread overview]
Message-ID: <20171108090233.GD12670@redhat.com> (raw)
In-Reply-To: <d4dff69f-ce98-1309-990d-62425ab636b1@ozlabs.ru>
On Wed, Nov 08, 2017 at 09:58:11AM +1100, Alexey Kardashevskiy wrote:
> On 07/11/17 21:12, Daniel P. Berrange wrote:
> > On Tue, Nov 07, 2017 at 04:13:27PM +1100, Alexey Kardashevskiy wrote:
> >> On 07/11/17 15:12, Alexey Kardashevskiy wrote:
> >>> On 04/11/17 02:33, Daniel P. Berrange wrote:
> >>>> We short circuit the git submodule update when passed an empty module list.
> >>>> This accidentally causes the 'status' command to write to the status file. The
> >>>> test needs to be delayed into the individual commands to avoid this premature
> >>>> writing of the status file.
> >>>>
> >>>> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> >>>> ---
> >>>> scripts/git-submodule.sh | 19 ++++++++++++-------
> >>>> 1 file changed, 12 insertions(+), 7 deletions(-)
> >>>>
> >>>> diff --git a/scripts/git-submodule.sh b/scripts/git-submodule.sh
> >>>> index 2857fc57c4..90376a7dae 100755
> >>>> --- a/scripts/git-submodule.sh
> >>>> +++ b/scripts/git-submodule.sh
> >>>> @@ -33,12 +33,6 @@ error() {
> >>>> exit 1
> >>>> }
> >>>>
> >>>> -if test -z "$maybe_modules"
> >>>> -then
> >>>> - test -e $substat || touch $substat
> >>>> - exit 0
> >>>> -fi
> >>>> -
> >>>> modules=""
> >>>> for m in $maybe_modules
> >>>> do
> >>>> @@ -51,7 +45,7 @@ do
> >>>> fi
> >>>> done
> >>>>
> >>>> -if ! test -e ".git"
> >>>> +if test -n "$maybe_modules" && ! test -e ".git"
> >>>
> >>>
> >>> $GIT_DIR should be checked too imho:
> >>>
> >>> if test -n "$maybe_modules" && ! test -e ".git" && test "$GIT_DIR" = ""
> >>
> >> Uff. Just this won't help, it is assumed everywhere that the ".git" folder
> >> exists :(
> >>
> >> I was hoping to use "git --work-dir=" for the source tree to have a full
> >> complete source tree to compile on a build machine but
> >> "./scripts/git-submodule.sh status" is always called, no matter what.
> >
> > If you need to pass extra args to 'git' this is supported already by
> > this changeset. Just create a wrapper script containing whatever args
> > you need to give git, and use "./configure --with-git=your-wrapper"
> >
> >> I'd really love to have some way to disable git activities in Makefile...
> >
> > I don't want to add that. We don't want to ever build if we detect that
> > the submodules are at a different version to what we expect as it would
> > cause obscure hard to diagnose build problems
> >
>
> I gave you an example with one build machine having dtc and another not
> having it - your system breaks. What is the proper solution to this?
You could create separate source directories for each system you're building
on. This won't take up extra disk space if you clone extra source dirs from
your first checkout using --reference (or even --shared - but see caveats
in git manpage for that)
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 :|
next prev parent reply other threads:[~2017-11-08 9:02 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-03 15:33 [Qemu-devel] [PATCH v3 0/5] Various improvements/bugfixes to submodule handling Daniel P. Berrange
2017-11-03 15:33 ` [Qemu-devel] [PATCH v3 1/5] build: allow setting a custom GIT binary for transparent proxying Daniel P. Berrange
2017-11-03 18:27 ` Eric Blake
2017-11-03 15:33 ` [Qemu-devel] [PATCH v3 2/5] build: don't create temporary files in source dir Daniel P. Berrange
2017-11-03 18:28 ` Eric Blake
2017-11-03 15:33 ` [Qemu-devel] [PATCH v3 3/5] build: allow automatic git submodule updates to be disabled Daniel P. Berrange
2017-11-03 18:35 ` Eric Blake
2017-11-03 15:33 ` [Qemu-devel] [PATCH v3 4/5] build: don't fail if given a git submodule which does not exist Daniel P. Berrange
2017-11-03 18:36 ` Eric Blake
2017-11-03 15:33 ` [Qemu-devel] [PATCH v3 5/5] build: delay check for empty git submodule list Daniel P. Berrange
2017-11-03 18:37 ` Eric Blake
2017-11-07 4:12 ` Alexey Kardashevskiy
2017-11-07 5:13 ` Alexey Kardashevskiy
2017-11-07 10:12 ` Daniel P. Berrange
2017-11-07 22:58 ` Alexey Kardashevskiy
2017-11-08 9:02 ` Daniel P. Berrange [this message]
2017-11-08 1:43 ` Alexey Kardashevskiy
2017-11-08 8:28 ` Alexey Kardashevskiy
2017-11-08 9:01 ` Daniel P. Berrange
2017-11-03 18:03 ` [Qemu-devel] [PATCH v3 0/5] Various improvements/bugfixes to submodule handling Peter Maydell
2017-11-06 10:44 ` Daniel P. Berrange
2017-11-06 14:30 ` Daniel P. Berrange
2017-11-07 2:04 ` Alexey Kardashevskiy
2017-11-03 19:38 ` Philippe Mathieu-Daudé
2017-11-06 0:22 ` Alexey Kardashevskiy
2017-11-06 4:44 ` Alexey Kardashevskiy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171108090233.GD12670@redhat.com \
--to=berrange@redhat.com \
--cc=aik@ozlabs.ru \
--cc=eblake@redhat.com \
--cc=f4bug@amsat.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).