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 <berra...@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? -- Alexey