qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] cc84d6: build: allow setting a custom GIT bin


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] cc84d6: build: allow setting a custom GIT binary for trans...
Date: Tue, 07 Nov 2017 04:19:08 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: cc84d63a42e31c2afa884fc78610a65ab8ecc06a
      
https://github.com/qemu/qemu/commit/cc84d63a42e31c2afa884fc78610a65ab8ecc06a
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-11-06 (Mon, 06 Nov 2017)

  Changed paths:
    M Makefile
    M configure
    M scripts/git-submodule.sh

  Log Message:
  -----------
  build: allow setting a custom GIT binary for transparent proxying

Some users can't run a bare 'git' command, due to need for a transparent
proxying solution such as 'tsocks'. This adds an argument to configure to
let users specify such a thing:

  ./configure --with-git="tsocks git"

The submodule script is also updated to give the user a hint about using this
flag, if we fail to checkout modules.

Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>


  Commit: 96089f6d0e88446a16725f2152d252be34f1ad50
      
https://github.com/qemu/qemu/commit/96089f6d0e88446a16725f2152d252be34f1ad50
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-11-06 (Mon, 06 Nov 2017)

  Changed paths:
    M scripts/git-submodule.sh

  Log Message:
  -----------
  build: don't create temporary files in source dir

There are cases where users do VPATH builds with the source directory being on
a read-only volume. In such a case they have to manually run the command
'git-submodule.sh ...modules...' ahead of time. When checking for status we
should not then write into the source dir.

Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>


  Commit: f62bbee55d503f639ee9498878ebf42ff4f4299a
      
https://github.com/qemu/qemu/commit/f62bbee55d503f639ee9498878ebf42ff4f4299a
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-11-06 (Mon, 06 Nov 2017)

  Changed paths:
    M Makefile
    M configure
    M scripts/git-submodule.sh

  Log Message:
  -----------
  build: allow automatic git submodule updates to be disabled

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

Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>


  Commit: 37b5e74e28f4b3ee93c28eb0106a65e02521f48b
      
https://github.com/qemu/qemu/commit/37b5e74e28f4b3ee93c28eb0106a65e02521f48b
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-11-06 (Mon, 06 Nov 2017)

  Changed paths:
    M scripts/git-submodule.sh

  Log Message:
  -----------
  build: don't fail if given a git submodule which does not exist

If going back in time in git history, across a commit that introduces a new
submodule, the 'git-submodule.sh' script will fail, causing rebuild to fail.

This is because config-host.mak contains a GIT_SUBMODULES variable that lists
a submodule that only exists in the later commit. config-host.mak won't get
repopulated until config.status is invoked, but make won't get this far due to
the submodule error.

This change makes 'git-submodule.sh' check whether each module is known to git
and drops any which are not present. A warning message will be printed when any
submodule is dropped in this manner.

Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>


  Commit: 49ad3cfa67145a71644d7832ed20c2a2b0620d15
      
https://github.com/qemu/qemu/commit/49ad3cfa67145a71644d7832ed20c2a2b0620d15
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-11-06 (Mon, 06 Nov 2017)

  Changed paths:
    M scripts/git-submodule.sh

  Log Message:
  -----------
  build: delay check for empty git submodule list

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.

Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>


  Commit: c4b01c7c5171e9f77ed4ed6d9b4f63845410f641
      
https://github.com/qemu/qemu/commit/c4b01c7c5171e9f77ed4ed6d9b4f63845410f641
  Author: Daniel P. Berrange <address@hidden>
  Date:   2017-11-06 (Mon, 06 Nov 2017)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  build: remove use of MAKELEVEL optimization in submodule handling

The Makefile attempts to optimize the handling of submodules by using MAKELEVEL
to only check the submodule status when running from the top level make
invokation. This causes problems for people who are using a makefile of their
own to in turn invoke QEMU's makefile, as MAKELEVEL is already set to 1 (or
more) when QEMU's makefile runs.

This optimization should not really be needed, since the git-submodule.sh
script is already used to detect if a submodule update is required. This by
removing the MAKELEVEL check, we at most add an extra 'git-submodule.sh status'
call to each make level, the overhead of which is lost in noise of building
QEMU.

Reviewed-by: Greg Kurz <address@hidden>
Tested-by: Greg Kurz <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>


  Commit: 0e82cdd0121efcb0d5bb968eaaecd009c3d69044
      
https://github.com/qemu/qemu/commit/0e82cdd0121efcb0d5bb968eaaecd009c3d69044
  Author: Peter Maydell <address@hidden>
  Date:   2017-11-07 (Tue, 07 Nov 2017)

  Changed paths:
    M Makefile
    M configure
    M scripts/git-submodule.sh

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/berrange/tags/pull-build-2017-11-07-1' 
into staging

Merge build 2017/11/07 v1

# gpg: Signature made Tue 07 Nov 2017 10:14:49 GMT
# gpg:                using RSA key 0xBE86EBB415104FDF
# gpg: Good signature from "Daniel P. Berrange <address@hidden>"
# gpg:                 aka "Daniel P. Berrange <address@hidden>"
# Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF

* remotes/berrange/tags/pull-build-2017-11-07-1:
  build: remove use of MAKELEVEL optimization in submodule handling
  build: delay check for empty git submodule list
  build: don't fail if given a git submodule which does not exist
  build: allow automatic git submodule updates to be disabled
  build: don't create temporary files in source dir
  build: allow setting a custom GIT binary for transparent proxying

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/d2b8c0910e35...0e82cdd0121e

reply via email to

[Prev in Thread] Current Thread [Next in Thread]