summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2018-02-15 12:06:47 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2018-03-12 16:12:47 +0100
commit7e563bfb8a5104ff0eed0fff8d13cbe63a25d17c (patch)
tree2b315d9dff4c3c393dc6e24f817bb3e9e35012e2 /Makefile
parent8cc436d9c513797291b531bbf06ef306f41e8c9b (diff)
downloadqemu-7e563bfb8a5104ff0eed0fff8d13cbe63a25d17c.tar.gz
Polish the version strings containing the package version
Since commit 67a1de0d195a there is no space anymore between the version number and the parentheses when running configure with --with-pkgversion=foo : $ qemu-system-s390x --version QEMU emulator version 2.11.50(foo) But the space is included when building without that option when building from a git checkout: $ qemu-system-s390x --version QEMU emulator version 2.11.50 (v2.11.0-1494-gbec9c64-dirty) The same confusion exists with the "query-version" QMP command. Let's fix this by introducing a proper QEMU_FULL_VERSION definition that includes the space and parentheses, while the QEMU_PKGVERSION should just cleanly contain the package version string itself. Note that this also changes the behavior of the "query-version" QMP command (the space and parentheses are not included there anymore), but that's supposed to be OK since the strings there are not meant to be parsed by other tools. Fixes: 67a1de0d195a6185c39b436159c9ffc7720bf979 Buglink: https://bugs.launchpad.net/qemu/+bug/1673373 Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1518692807-25859-1-git-send-email-thuth@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile20
1 files changed, 11 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index 5d9ef3b8fd..416a81c7ca 100644
--- a/Makefile
+++ b/Makefile
@@ -434,21 +434,23 @@ all: $(DOCS) $(TOOLS) $(HELPERS-y) recurse-all modules
qemu-version.h: FORCE
$(call quiet-command, \
(cd $(SRC_PATH); \
- printf '#define QEMU_PKGVERSION '; \
if test -n "$(PKGVERSION)"; then \
- printf '"$(PKGVERSION)"\n'; \
+ pkgvers="$(PKGVERSION)"; \
else \
if test -d .git; then \
- printf '" ('; \
- git describe --match 'v*' 2>/dev/null | tr -d '\n'; \
+ pkgvers=$$(git describe --match 'v*' 2>/dev/null | tr -d '\n');\
if ! git diff-index --quiet HEAD &>/dev/null; then \
- printf -- '-dirty'; \
+ pkgvers="$${pkgvers}-dirty"; \
fi; \
- printf ')"\n'; \
- else \
- printf '""\n'; \
fi; \
- fi) > $@.tmp)
+ fi; \
+ printf "#define QEMU_PKGVERSION \"$${pkgvers}\"\n"; \
+ if test -n "$${pkgvers}"; then \
+ printf '#define QEMU_FULL_VERSION QEMU_VERSION " (" QEMU_PKGVERSION ")"\n'; \
+ else \
+ printf '#define QEMU_FULL_VERSION QEMU_VERSION\n'; \
+ fi; \
+ ) > $@.tmp)
$(call quiet-command, if ! cmp -s $@ $@.tmp; then \
mv $@.tmp $@; \
else \