Pino Toscano
2019-Dec-16 16:18 UTC
[Libguestfs] [v2v PATCH] build: add --with-extra configure parameter
Borrow this feature from libguestfs, so it is possible to "watermark" the virt-v2v executable with a extra string to the version string. --- configure.ac | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 00246f29..e2418564 100644 --- a/configure.ac +++ b/configure.ac @@ -15,7 +15,14 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -AC_INIT([virt-v2v],1.41.8) +# The major, minor, and release fields MUST be numbers. Packagers can +# add extra information using --with-extra="..." which may be any +# freeform string. +m4_define([v2v_major], [1]) +m4_define([v2v_minor], [41]) +m4_define([v2v_release], [8]) + +AC_INIT([virt-v2v],v2v_major.v2v_minor.v2v_release) # Headings within the configure script output. m4_define([HEADING], @@ -37,6 +44,25 @@ AC_CONFIG_MACRO_DIR([m4]) dnl Initialize libtool. LT_INIT +dnl Extra string, a freeform string defined by packagers. +AC_ARG_WITH([extra], + [AS_HELP_STRING([--with-extra], + [extra version string (for use by packagers)])], + [v2v_extra="$withval"], + [v2v_extra=] +) + +AC_MSG_NOTICE([virt-v2v version v2v_major.v2v_minor.v2v_release$v2v_extra]) + +dnl Split up the version string. +AC_DEFINE([PACKAGE_VERSION_MAJOR],[v2v_major],[Major version number.]) +AC_DEFINE([PACKAGE_VERSION_MINOR],[v2v_minor],[Minor version number.]) +AC_DEFINE([PACKAGE_VERSION_RELEASE],[v2v_release],[Release number.]) +AC_DEFINE_UNQUOTED([PACKAGE_VERSION_EXTRA],["$v2v_extra"],[Extra version string.]) +PACKAGE_VERSION_FULL="v2v_major.v2v_minor.v2v_release${v2v_extra}" +AC_DEFINE_UNQUOTED([PACKAGE_VERSION_FULL],["$PACKAGE_VERSION_FULL"],[Full version string.]) +AC_SUBST([PACKAGE_VERSION_FULL]) + dnl Early gnulib initialization. HEADING([Configuring Gnulib]) gl_EARLY @@ -79,8 +105,6 @@ dnl These are required to get common/*/Makefile.am files dnl to work. We should further decouple these in future XXX AM_CONDITIONAL([ENABLE_APPLIANCE],[true]) AM_CONDITIONAL([HAVE_PYTHON],[false]) dnl Disables a test -AC_DEFINE_UNQUOTED([PACKAGE_VERSION_FULL],["$PACKAGE_VERSION"],[Version string.]) -AC_SUBST([PACKAGE_VERSION_FULL], [$PACKAGE_VERSION]) dnl Produce output files. HEADING([Generating output files]) -- 2.23.0
Richard W.M. Jones
2019-Dec-16 16:47 UTC
Re: [Libguestfs] [v2v PATCH] build: add --with-extra configure parameter
On Mon, Dec 16, 2019 at 05:18:19PM +0100, Pino Toscano wrote:> Borrow this feature from libguestfs, so it is possible to "watermark" > the virt-v2v executable with a extra string to the version string. > --- > configure.ac | 30 +++++++++++++++++++++++++++--- > 1 file changed, 27 insertions(+), 3 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 00246f29..e2418564 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -15,7 +15,14 @@ > # along with this program; if not, write to the Free Software > # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. > > -AC_INIT([virt-v2v],1.41.8) > +# The major, minor, and release fields MUST be numbers. Packagers can > +# add extra information using --with-extra="..." which may be any > +# freeform string. > +m4_define([v2v_major], [1]) > +m4_define([v2v_minor], [41]) > +m4_define([v2v_release], [8]) > + > +AC_INIT([virt-v2v],v2v_major.v2v_minor.v2v_release) > > # Headings within the configure script output. > m4_define([HEADING], > @@ -37,6 +44,25 @@ AC_CONFIG_MACRO_DIR([m4]) > dnl Initialize libtool. > LT_INIT > > +dnl Extra string, a freeform string defined by packagers. > +AC_ARG_WITH([extra], > + [AS_HELP_STRING([--with-extra], > + [extra version string (for use by packagers)])], > + [v2v_extra="$withval"], > + [v2v_extra=] > +) > + > +AC_MSG_NOTICE([virt-v2v version v2v_major.v2v_minor.v2v_release$v2v_extra]) > + > +dnl Split up the version string. > +AC_DEFINE([PACKAGE_VERSION_MAJOR],[v2v_major],[Major version number.]) > +AC_DEFINE([PACKAGE_VERSION_MINOR],[v2v_minor],[Minor version number.]) > +AC_DEFINE([PACKAGE_VERSION_RELEASE],[v2v_release],[Release number.]) > +AC_DEFINE_UNQUOTED([PACKAGE_VERSION_EXTRA],["$v2v_extra"],[Extra version string.]) > +PACKAGE_VERSION_FULL="v2v_major.v2v_minor.v2v_release${v2v_extra}" > +AC_DEFINE_UNQUOTED([PACKAGE_VERSION_FULL],["$PACKAGE_VERSION_FULL"],[Full version string.]) > +AC_SUBST([PACKAGE_VERSION_FULL]) > + > dnl Early gnulib initialization. > HEADING([Configuring Gnulib]) > gl_EARLY > @@ -79,8 +105,6 @@ dnl These are required to get common/*/Makefile.am files > dnl to work. We should further decouple these in future XXX > AM_CONDITIONAL([ENABLE_APPLIANCE],[true]) > AM_CONDITIONAL([HAVE_PYTHON],[false]) dnl Disables a test > -AC_DEFINE_UNQUOTED([PACKAGE_VERSION_FULL],["$PACKAGE_VERSION"],[Version string.]) > -AC_SUBST([PACKAGE_VERSION_FULL], [$PACKAGE_VERSION]) >Sure ACK. I guess ‘virt-v2v --version’ now prints the extra field because of print_version_and_exit in common/mltools/tools_utils.ml? Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org
Pino Toscano
2020-Jan-09 16:35 UTC
Re: [Libguestfs] [v2v PATCH] build: add --with-extra configure parameter
On Monday, 16 December 2019 17:47:05 CET Richard W.M. Jones wrote:> On Mon, Dec 16, 2019 at 05:18:19PM +0100, Pino Toscano wrote: > > Borrow this feature from libguestfs, so it is possible to "watermark" > > the virt-v2v executable with a extra string to the version string. > > --- > > configure.ac | 30 +++++++++++++++++++++++++++--- > > 1 file changed, 27 insertions(+), 3 deletions(-) > > > > diff --git a/configure.ac b/configure.ac > > index 00246f29..e2418564 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -15,7 +15,14 @@ > > # along with this program; if not, write to the Free Software > > # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. > > > > -AC_INIT([virt-v2v],1.41.8) > > +# The major, minor, and release fields MUST be numbers. Packagers can > > +# add extra information using --with-extra="..." which may be any > > +# freeform string. > > +m4_define([v2v_major], [1]) > > +m4_define([v2v_minor], [41]) > > +m4_define([v2v_release], [8]) > > + > > +AC_INIT([virt-v2v],v2v_major.v2v_minor.v2v_release) > > > > # Headings within the configure script output. > > m4_define([HEADING], > > @@ -37,6 +44,25 @@ AC_CONFIG_MACRO_DIR([m4]) > > dnl Initialize libtool. > > LT_INIT > > > > +dnl Extra string, a freeform string defined by packagers. > > +AC_ARG_WITH([extra], > > + [AS_HELP_STRING([--with-extra], > > + [extra version string (for use by packagers)])], > > + [v2v_extra="$withval"], > > + [v2v_extra=] > > +) > > + > > +AC_MSG_NOTICE([virt-v2v version v2v_major.v2v_minor.v2v_release$v2v_extra]) > > + > > +dnl Split up the version string. > > +AC_DEFINE([PACKAGE_VERSION_MAJOR],[v2v_major],[Major version number.]) > > +AC_DEFINE([PACKAGE_VERSION_MINOR],[v2v_minor],[Minor version number.]) > > +AC_DEFINE([PACKAGE_VERSION_RELEASE],[v2v_release],[Release number.]) > > +AC_DEFINE_UNQUOTED([PACKAGE_VERSION_EXTRA],["$v2v_extra"],[Extra version string.]) > > +PACKAGE_VERSION_FULL="v2v_major.v2v_minor.v2v_release${v2v_extra}" > > +AC_DEFINE_UNQUOTED([PACKAGE_VERSION_FULL],["$PACKAGE_VERSION_FULL"],[Full version string.]) > > +AC_SUBST([PACKAGE_VERSION_FULL]) > > + > > dnl Early gnulib initialization. > > HEADING([Configuring Gnulib]) > > gl_EARLY > > @@ -79,8 +105,6 @@ dnl These are required to get common/*/Makefile.am files > > dnl to work. We should further decouple these in future XXX > > AM_CONDITIONAL([ENABLE_APPLIANCE],[true]) > > AM_CONDITIONAL([HAVE_PYTHON],[false]) dnl Disables a test > > -AC_DEFINE_UNQUOTED([PACKAGE_VERSION_FULL],["$PACKAGE_VERSION"],[Version string.]) > > -AC_SUBST([PACKAGE_VERSION_FULL], [$PACKAGE_VERSION]) > > > > Sure ACK. I guess ‘virt-v2v --version’ now prints the extra field > because of print_version_and_exit in common/mltools/tools_utils.ml?(Apparently saved this email as draft only...) Yes, and the full version string (with the extra field) is printed in the metadata created by virt-v2v: the OVF for oVirt, the XML for libvirt, etc. -- Pino Toscano
Reasonably Related Threads
- Re: [v2v PATCH] build: add --with-extra configure parameter
- [PATCH] p2v: Send physical server 'dmesg' output to debug dir on conversion server.
- [PATCH 1/2] configure: visually split the blocks of checks
- [p2v PATCH 0/6] Use GLib a bit more
- [PATCH 0/7] v2v: Miscellaneous refactorings.