On 27/10/17 00:04, Daniel P. Berrange wrote: > Some people building QEMU use VPATH builds where the source directory is on a > read-only volume. In such a case 'scripts/git-submodules.sh update' will > always > fail and users are required to run it manually themselves on their original > writable source directory. > > While this is already supported, it is nice to give users a command line flag > to configure to permanently disable automatic submodule updates, as it means > they won't get hard to diagnose failures from git-submodules.sh at an > arbitrary > later date. > > This patch thus introduces a flag '--disable-git-update' which will prevent > 'make' from ever running 'scripts/git-submodules.sh update'. It will still run > the 'status' command to determine if a submodule update is needed, but when it > does this it'll simply stop and print a message instructing the developer what > todo. eg > > $ ./configure --target-list=x86_64-softmmu --disable-git-update > ...snip... > > $ make > GEN config-host.h > GEN trace/generated-tcg-tracers.h > GEN trace/generated-helpers-wrappers.h > GEN trace/generated-helpers.h > GEN trace/generated-helpers.c > GEN module_block.h > > GIT submodule checkout is out of date. Please run > scripts/git-submodule.sh update ui/keycodemapdb > from the source directory checkout /home/berrange/src/virt/qemu > > make: *** [Makefile:31: git-submodule-update] Error 1 > > Signed-off-by: Daniel P. Berrange <berra...@redhat.com> > --- > Makefile | 11 +++++++++++ > configure | 9 ++++++++- > 2 files changed, 19 insertions(+), 1 deletion(-) > > diff --git a/Makefile b/Makefile > index 4c9d0eaef2..cefb75dc8d 100644 > --- a/Makefile > +++ b/Makefile > @@ -26,12 +26,23 @@ ifeq (0,$(MAKELEVEL)) > ) > > ifeq (1,$(git_module_status)) > +ifeq (no,$(GIT_UPDATE)) > +git-submodule-update: > + $(call quiet-command, \ > + echo && \ > + echo "GIT submodule checkout is out of date. Please run" && \ > + echo " scripts/git-submodule.sh update $(GIT_SUBMODULES)" && \ > + echo "from the source directory checkout $(SRC_PATH)" && \
I'd love to see this warning when $GIT_UPDATE!=no too. Now it is: GIT ui/keycodemapdb dtc ./scripts/git-submodule.sh: 36: ./scripts/git-submodule.sh: cannot create .git-submodule-status: Read-only file system Makefile:40: recipe for target 'git-submodule-update' failed Other than that, looks nice, thanks for fixing it. -- Alexey