[virt-tools-list] [PATCH virt-viewer 2/2] configure: Use default error message when package is missing

Christophe Fergeau cfergeau at redhat.com
Thu Jul 23 15:36:07 UTC 2015


Hey,

On Mon, Jun 29, 2015 at 01:18:20PM +0200, Pavel Grunt wrote:
> To make clear why configure failed - e.g.:
>  Package requirements (spice-client-gtk-2.0 >= 0.28) were not met
>  Requested 'spice-client-gtk-2.0 >= 0.28' but version of spice-client-gtk-2.0 is 0.25
> instead of
>  spice-gtk requested but not found

The tradeoff is one more PKG_CHECK_MODULES call per auto-detected dep,
which does not seem to make a significant difference on linux (hopefully
Windows is fine too). I agree that the end result is better (and there
might have been a bug before this commit with --with-spice-gtk not
erroring out when it should in some cases), so ACK.

Christophe

> 
> Related:
> https://bugzilla.redhat.com/show_bug.cgi?id=1214577
> ---
>  configure.ac | 87 +++++++++++++++++++++++++-----------------------------------
>  1 file changed, 36 insertions(+), 51 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index df0053d..d37863b 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -103,19 +103,15 @@ PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= $LIBXML2_REQUIRED)
>  AC_ARG_WITH([libvirt],
>      AS_HELP_STRING([--without-libvirt], [Ignore presence of libvirt and disable it]))
>  
> -AS_IF([test "x$with_libvirt" != "xno"],
> -      [PKG_CHECK_MODULES(LIBVIRT,
> -                         [libvirt >= $LIBVIRT_REQUIRED],
> -                         [have_libvirt=yes], [have_libvirt=no])],
> -      [have_libvirt=no])
> -
> -AS_IF([test "x$have_libvirt" = "xyes"],
> -      [AC_DEFINE([HAVE_LIBVIRT], 1, [Have libvirt?])],
> -      [AS_IF([test "x$with_libvirt" = "xyes"],
> -             [AC_MSG_ERROR([libvirt requested but not found])
> -      ])
> -])
> -AM_CONDITIONAL([HAVE_LIBVIRT], [test "x$have_libvirt" = "xyes"])
> +AS_IF([test "x$with_libvirt" != "xno" && test "x$with_libvirt" != "xyes"],
> +      [PKG_CHECK_EXISTS([libvirt >= $LIBVIRT_REQUIRED],
> +                        [with_libvirt=yes], [with_libvirt=no])])
> +
> +AS_IF([test "x$with_libvirt" = "xyes"],
> +      [PKG_CHECK_MODULES(LIBVIRT, [libvirt >= $LIBVIRT_REQUIRED])]
> +      [AC_DEFINE([HAVE_LIBVIRT], 1, [Have libvirt?])]
> +)
> +AM_CONDITIONAL([HAVE_LIBVIRT], [test "x$with_libvirt" = "xyes"])
>  
>  old_LIBS=$LIBS
>  LIBS=$LIBVIRT_LIBS
> @@ -161,49 +157,41 @@ PKG_CHECK_MODULES(GTK, gtk+-$GTK_API_VERSION >= $GTK_REQUIRED)
>  AC_ARG_WITH([gtk-vnc],
>      AS_HELP_STRING([--without-gtk-vnc], [Ignore presence of gtk-vnc and disable it]))
>  
> -AS_IF([test "x$with_gtk_vnc" != "xno"],
> -      [PKG_CHECK_MODULES(GTK_VNC,
> -                         gtk-vnc-$GTK_VNC_API_VERSION >= $GTK_VNC_REQUIRED,
> -                         [have_gtk_vnc=yes], [have_gtk_vnc=no])],
> -      [have_gtk_vnc=no])
> -
> -AS_IF([test "x$have_gtk_vnc" = "xyes"],
> -      [AC_DEFINE([HAVE_GTK_VNC], 1, [Have gtk-vnc?])],
> -      [AS_IF([test "x$with_gtk_vnc" = "xyes"],
> -             [AC_MSG_ERROR([gtk-vnc requested but not found])
> -      ])
> -])
> -AM_CONDITIONAL([HAVE_GTK_VNC], [test "x$have_gtk_vnc" = "xyes"])
> +AS_IF([test "x$with_gtk_vnc" != "xno" && test "x$with_gtk_vnc" != "xyes"],
> +      [PKG_CHECK_EXISTS([gtk-vnc-$GTK_VNC_API_VERSION >= $GTK_VNC_REQUIRED],
> +                        [with_gtk_vnc=yes], [with_gtk_vnc=no])])
> +
> +AS_IF([test "x$with_gtk_vnc" = "xyes"],
> +      [PKG_CHECK_MODULES(GTK_VNC, [gtk-vnc-$GTK_VNC_API_VERSION >= $GTK_VNC_REQUIRED])]
> +      [AC_DEFINE([HAVE_GTK_VNC], 1, [Have gtk-vnc?])]
> +)
> +AM_CONDITIONAL([HAVE_GTK_VNC], [test "x$with_gtk_vnc" = "xyes"])
>  
>  AC_ARG_WITH([spice-gtk],
>      AS_HELP_STRING([--without-spice-gtk], [Ignore presence of spice-gtk and disable it]))
>  
> -AS_IF([test "x$with_spice_gtk" != "xno"],
> -      [PKG_CHECK_MODULES(SPICE_GTK,
> -                         [spice-client-gtk-$SPICE_GTK_API_VERSION >= $SPICE_GTK_REQUIRED
> -                          spice-controller spice-protocol >= $SPICE_PROTOCOL_REQUIRED],
> -                         [have_spice_gtk=yes], [have_spice_gtk=no])],
> -      [have_spice_gtk=no])
> +AS_IF([test "x$with_spice_gtk" != "xno" && test "x$with_spice_gtk" != "xyes"],
> +      [PKG_CHECK_EXISTS([spice-client-gtk-$SPICE_GTK_API_VERSION >= $SPICE_GTK_REQUIRED
> +                         spice-controller spice-protocol >= $SPICE_PROTOCOL_REQUIRED],
> +                        [with_spice_gtk=yes], [with_spice_gtk=no])])
>  
> -AS_IF([test "x$have_spice_gtk" = "xyes"],
> +AS_IF([test "x$with_spice_gtk" = "xyes"],
> +      [PKG_CHECK_MODULES(SPICE_GTK, [spice-client-gtk-$SPICE_GTK_API_VERSION >= $SPICE_GTK_REQUIRED])]
>        [PKG_CHECK_MODULES(SPICE_CONTROLLER, [spice-controller])]
>        [PKG_CHECK_MODULES(SPICE_PROTOCOL, [spice-protocol >= $SPICE_PROTOCOL_REQUIRED])]
> -      [AC_DEFINE([HAVE_SPICE_GTK], 1, [Have spice-gtk?])],
> -      [AS_IF([test "x$with_spice_gtk" = "xyes"],
> -             [AC_MSG_ERROR([spice-gtk requested but not found])
> -      ])
> -])
> -AM_CONDITIONAL([HAVE_SPICE_GTK], [test "x$have_spice_gtk" = "xyes"])
> +      [AC_DEFINE([HAVE_SPICE_GTK], 1, [Have spice-gtk?])]
> +)
> +AM_CONDITIONAL([HAVE_SPICE_GTK], [test "x$with_spice_gtk" = "xyes"])
>  
>  AC_ARG_WITH([ovirt],
>      AS_HELP_STRING([--without-ovirt], [Ignore presence of librest and disable oVirt support]))
>  
> -AS_IF([test "x$with_ovirt" != "xno"],
> -      [PKG_CHECK_MODULES([OVIRT], [govirt-1.0 >= $GOVIRT_REQUIRED],
> -                         [have_ovirt=yes], [have_ovirt=no])],
> -      [have_ovirt=no])
> +AS_IF([test "x$with_ovirt" != "xno" && test "x$with_ovirt" != "xyes"],
> +      [PKG_CHECK_EXISTS([govirt-1.0 >= $GOVIRT_REQUIRED],
> +                        [with_ovirt=yes], [with_ovirt=no])])
>  
> -AS_IF([test "x$have_ovirt" = "xyes"],
> +AS_IF([test "x$with_ovirt" = "xyes"],
> +      [PKG_CHECK_MODULES([OVIRT], [govirt-1.0 >= $GOVIRT_REQUIRED])]
>        [AC_DEFINE([HAVE_OVIRT], 1, [Have libgovirt?])]
>        [SAVED_CFLAGS="$CFLAGS"
>         SAVED_LIBS="$LIBS"
> @@ -215,19 +203,16 @@ AS_IF([test "x$have_ovirt" = "xyes"],
>          [AC_DEFINE([HAVE_OVIRT_CANCEL], 1, [Have rest_proxy_auth_cancel and OVIRT_REST_CALL_ERROR_CANCELLED?])],
>          [])
>         CFLAGS="$SAVED_CFLAGS"
> -       LIBS="$SAVED_LIBS"],
> -      [AS_IF([test "x$with_ovirt" = "xyes"],
> -             [AC_MSG_ERROR([oVirt support requested but libgovirt not found])
> -      ])
> -])
> -AM_CONDITIONAL([HAVE_OVIRT], [test "x$have_ovirt" = "xyes"])
> +       LIBS="$SAVED_LIBS"]
> +)
> +AM_CONDITIONAL([HAVE_OVIRT], [test "x$with_ovirt" = "xyes"])
>  
>  dnl Decide if this platform can support the SSH tunnel feature.
>  AC_CHECK_HEADERS([sys/socket.h sys/un.h windows.h])
>  AC_CHECK_FUNCS([fork socketpair])
>  
>  
> -if test "x$have_gtk_vnc" != "xyes" && test "x$have_spice_gtk" != "xyes"; then
> +if test "x$with_gtk_vnc" != "xyes" && test "x$with_spice_gtk" != "xyes"; then
>      AC_MSG_ERROR([At least one of spice or vnc must be used])
>  fi
>  
> -- 
> 2.4.5
> 
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20150723/a38dca6c/attachment.sig>


More information about the virt-tools-list mailing list