Skip to content

Commit

Permalink
Polish the version strings containing the package version
Browse files Browse the repository at this point in the history
Since commit 67a1de0 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: 67a1de0
Buglink: https://bugs.launchpad.net/qemu/+bug/1673373
Signed-off-by: Thomas Huth <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
  • Loading branch information
huth authored and bonzini committed Mar 12, 2018
1 parent 8cc436d commit 7e563bf
Show file tree
Hide file tree
Showing 11 changed files with 21 additions and 19 deletions.
20 changes: 11 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
2 changes: 1 addition & 1 deletion bsd-user/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -649,7 +649,7 @@ void cpu_loop(CPUSPARCState *env)

static void usage(void)
{
printf("qemu-" TARGET_NAME " version " QEMU_VERSION QEMU_PKGVERSION
printf("qemu-" TARGET_NAME " version " QEMU_FULL_VERSION
"\n" QEMU_COPYRIGHT "\n"
"usage: qemu-" TARGET_NAME " [options] program [arguments...]\n"
"BSD CPU emulator (compiled for %s emulation)\n"
Expand Down
2 changes: 1 addition & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -1163,7 +1163,7 @@ for opt do
;;
--disable-blobs) blobs="no"
;;
--with-pkgversion=*) pkgversion=" ($optarg)"
--with-pkgversion=*) pkgversion="$optarg"
;;
--with-coroutine=*) coroutine="$optarg"
;;
Expand Down
2 changes: 1 addition & 1 deletion linux-user/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -4163,7 +4163,7 @@ static void handle_arg_strace(const char *arg)

static void handle_arg_version(const char *arg)
{
printf("qemu-" TARGET_NAME " version " QEMU_VERSION QEMU_PKGVERSION
printf("qemu-" TARGET_NAME " version " QEMU_FULL_VERSION
"\n" QEMU_COPYRIGHT "\n");
exit(EXIT_SUCCESS);
}
Expand Down
2 changes: 1 addition & 1 deletion qemu-img.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
#include "crypto/init.h"
#include "trace/control.h"

#define QEMU_IMG_VERSION "qemu-img version " QEMU_VERSION QEMU_PKGVERSION \
#define QEMU_IMG_VERSION "qemu-img version " QEMU_FULL_VERSION \
"\n" QEMU_COPYRIGHT "\n"

typedef struct img_cmd_t {
Expand Down
2 changes: 1 addition & 1 deletion qemu-io.c
Original file line number Diff line number Diff line change
Expand Up @@ -558,7 +558,7 @@ int main(int argc, char **argv)
trace_file = trace_opt_parse(optarg);
break;
case 'V':
printf("%s version " QEMU_VERSION QEMU_PKGVERSION "\n"
printf("%s version " QEMU_FULL_VERSION "\n"
QEMU_COPYRIGHT "\n", progname);
exit(0);
case 'h':
Expand Down
2 changes: 1 addition & 1 deletion qemu-nbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ QEMU_HELP_BOTTOM "\n"
static void version(const char *name)
{
printf(
"%s " QEMU_VERSION QEMU_PKGVERSION "\n"
"%s " QEMU_FULL_VERSION "\n"
"Written by Anthony Liguori.\n"
"\n"
QEMU_COPYRIGHT "\n"
Expand Down
2 changes: 1 addition & 1 deletion qga/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ static void usage(const char *cmd)
{
printf(
"Usage: %s [-m <method> -p <path>] [<options>]\n"
"QEMU Guest Agent " QEMU_VERSION QEMU_PKGVERSION "\n"
"QEMU Guest Agent " QEMU_FULL_VERSION "\n"
QEMU_COPYRIGHT "\n"
"\n"
" -m, --method transport method: one of unix-listen, virtio-serial,\n"
Expand Down
2 changes: 1 addition & 1 deletion scsi/qemu-pr-helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ QEMU_HELP_BOTTOM "\n"
static void version(const char *name)
{
printf(
"%s " QEMU_VERSION QEMU_PKGVERSION "\n"
"%s " QEMU_FULL_VERSION "\n"
"Written by Paolo Bonzini.\n"
"\n"
QEMU_COPYRIGHT "\n"
Expand Down
2 changes: 1 addition & 1 deletion ui/cocoa.m
Original file line number Diff line number Diff line change
Expand Up @@ -1330,7 +1330,7 @@ - (void)make_about_window
/* Create the version string*/
NSString *version_string;
version_string = [[NSString alloc] initWithFormat:
@"QEMU emulator version %s%s", QEMU_VERSION, QEMU_PKGVERSION];
@"QEMU emulator version %s", QEMU_FULL_VERSION];
[version_label setStringValue: version_string];
[superView addSubview: version_label];

Expand Down
2 changes: 1 addition & 1 deletion vl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1948,7 +1948,7 @@ static void main_loop(void)

static void version(void)
{
printf("QEMU emulator version " QEMU_VERSION QEMU_PKGVERSION "\n"
printf("QEMU emulator version " QEMU_FULL_VERSION "\n"
QEMU_COPYRIGHT "\n");
}

Expand Down

0 comments on commit 7e563bf

Please sign in to comment.