On 04/11/17 02:33, Daniel P. Berrange wrote: > This short series of patches improves the reliability of the submodule > handling to cope with various dev env scenarios that have since emerged > > v2: https://lists.gnu.org/archive/html/qemu-devel/2017-10/msg06272.html > > Changed in v3: > > - Avoid use of mktemp > - Use '=' instead of '==' (bashism) in conditional tests > - Fix problem with short-circuiting for empty submodule list > - Ensure help message is displayed on all errors > > Daniel P. Berrange (5): > build: allow setting a custom GIT binary for transparent proxying > build: don't create temporary files in source dir > build: allow automatic git submodule updates to be disabled > build: don't fail if given a git submodule which does not exist > build: delay check for empty git submodule list > > Makefile | 15 ++++++++-- > configure | 12 ++++++++ > scripts/git-submodule.sh | 72 > ++++++++++++++++++++++++++++++++++++++---------- > 3 files changed, 83 insertions(+), 16 deletions(-)
It is getting more complicated. So, same setup, git checkout v2.10.0 ./configure --target-list=ppc64-softmmu make All good. Then: git checkout git-submodule (upstream + this patchset) ./configure --target-list=ppc64-softmmu I see an error and educational page about --disable-git-update, good. ./configure --target-list=ppc64-softmmu --disable-git-update make Now I get: GIT submodule checkout is out of date. Please run scripts/git-submodule.sh update ui/keycodemapdb dtc capstone from the source directory checkout /home/aik/p/qemu Good, as I wanted. I do this on the server: scripts/git-submodule.sh update ui/keycodemapdb dtc capstone and repeat "make" on the build machine but get the very same error. Then I add "set -x" to scripts/git-submodule.sh and see: + substat=.git-submodule-status + command=status + shift + maybe_modules=ui/keycodemapdb dtc capstone + test -z git + modules= + git submodule status ui/keycodemapdb + test 0 = 0 + modules= ui/keycodemapdb + git submodule status dtc + test 0 = 0 + modules= ui/keycodemapdb dtc + git submodule status capstone + test 0 = 0 + modules= ui/keycodemapdb dtc capstone + test -n ui/keycodemapdb dtc capstone + test -e .git + test -z ui/keycodemapdb dtc capstone + test -f .git-submodule-status + git submodule status ui/keycodemapdb dtc capstone + CURSTATUS=-22ead3e0bfdb87516656453336160e0a37b066bf capstone 558cd81bdd432769b59bff01240c44f82cfb1a9d dtc (v1.4.4) 10739aa26051a5d49d88132604539d3ed085e72e ui/keycodemapdb (heads/master) + cat .git-submodule-status + OLDSTATUS= 558cd81bdd432769b59bff01240c44f82cfb1a9d dtc (v1.4.4) 10739aa26051a5d49d88132604539d3ed085e72e ui/keycodemapdb (heads/master) + test -22ead3e0bfdb87516656453336160e0a37b066bf capstone 558cd81bdd432769b59bff01240c44f82cfb1a9d dtc (v1.4.4) 10739aa26051a5d49d88132604539d3ed085e72e ui/keycodemapdb (heads/master) = 558cd81bdd432769b59bff01240c44f82cfb1a9d dtc (v1.4.4) 10739aa26051a5d49d88132604539d3ed085e72e ui/keycodemapdb (heads/master) + exit 1 What is that new module - capstone - about? It is not in the status file: [vpl1 qemu]$ cat .git-submodule-status 558cd81bdd432769b59bff01240c44f82cfb1a9d dtc (v1.4.4) 10739aa26051a5d49d88132604539d3ed085e72e ui/keycodemapdb (heads/master) -- Alexey