From 4932fdca3ca1e9002164a1c0b73876f32739d34d Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Fri, 27 Aug 2010 13:38:49 +0100 Subject: [PATCH] build: Don't add version extra string to the version number. If this string was non-empty, then it broke a lot of things because autoconf and other parts of the build system were expecting this string to contain a simple MAJOR.MINOR.RELEASE version number. This requires changes to guestfish and guestmount so they use the guestfs_version API to fetch the version from the library. (The Perl tools were already doing it this way). In a way this is more accurate, because it's no longer hard-coded in the binary, but fetched from the dynamically linked libguestfs.so. --- configure.ac | 2 +- fish/fish.c | 8 ++++++-- fuse/guestmount.c | 8 ++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 9f81ee1..a9e4496 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ m4_define([libguestfs_release], [5]) # extra can be any string m4_define([libguestfs_extra], []) -AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release[]libguestfs_extra) +AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([foreign]) diff --git a/fish/fish.c b/fish/fish.c index a896a92..c535e06 100644 --- a/fish/fish.c +++ b/fish/fish.c @@ -20,6 +20,7 @@ #include #include +#include #include #include #include @@ -381,9 +382,12 @@ main (int argc, char *argv[]) guestfs_set_verbose (g, verbose); break; - case 'V': - printf ("%s %s\n", program_name, PACKAGE_VERSION); + case 'V': { + struct guestfs_version *v = guestfs_version (g); + printf ("%s %"PRIi64".%"PRIi64".%"PRIi64"%s\n", program_name, + v->major, v->minor, v->release, v->extra); exit (EXIT_SUCCESS); + } case 'x': guestfs_set_trace (g, 1); diff --git a/fuse/guestmount.c b/fuse/guestmount.c index e1cb2d8..9b7e520 100644 --- a/fuse/guestmount.c +++ b/fuse/guestmount.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -1074,9 +1075,12 @@ main (int argc, char *argv[]) guestfs_set_verbose (g, verbose); break; - case 'V': - printf ("%s %s\n", program_name, PACKAGE_VERSION); + case 'V': { + struct guestfs_version *v = guestfs_version (g); + printf ("%s %"PRIi64".%"PRIi64".%"PRIi64"%s\n", program_name, + v->major, v->minor, v->release, v->extra); exit (EXIT_SUCCESS); + } case HELP_OPTION: usage (EXIT_SUCCESS); -- 1.8.3.1