[libvirt] [PATCH] configure: clarify rationale for checking pkcheck

Daniel P. Berrange berrange at redhat.com
Tue Jul 21 16:53:05 UTC 2015


We don't need pkcheck binary, but we must detect it in order
to see if we're preferring polkit-1 over polkit-0 when both
are installed. We should also check $with_dbus to see if we
have dbus-devel available, as that's required to talk to
polkit-1.

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 configure.ac | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/configure.ac b/configure.ac
index 70b3ef3..db0ccd1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1339,15 +1339,28 @@ AC_ARG_WITH([polkit],
 with_polkit0=no
 with_polkit1=no
 if test "x$with_polkit" = "xyes" || test "x$with_polkit" = "xcheck"; then
-  dnl Check for new polkit first - just a binary
+  dnl Check for new polkit first. We directly talk over DBus
+  dnl but we use existance of pkcheck binary as a sign that
+  dnl we should prefer polkit-1 over polkit-0, so we check
+  dnl for it even though we don't ultimately use it
   AC_PATH_PROG([PKCHECK_PATH],[pkcheck], [], [/usr/sbin:$PATH])
   if test "x$PKCHECK_PATH" != "x" ; then
-    AC_DEFINE_UNQUOTED([WITH_POLKIT], 1,
-        [use PolicyKit for UNIX socket access checks])
-    AC_DEFINE_UNQUOTED([WITH_POLKIT1], 1,
-        [use PolicyKit for UNIX socket access checks])
-    with_polkit="yes"
-    with_polkit1="yes"
+    dnl Found pkcheck, so ensure dbus-devel is present
+    if test "x$with_dbus" = "xyes" ; then
+      AC_DEFINE_UNQUOTED([WITH_POLKIT], 1,
+          [use PolicyKit for UNIX socket access checks])
+      AC_DEFINE_UNQUOTED([WITH_POLKIT1], 1,
+          [use PolicyKit for UNIX socket access checks])
+      with_polkit="yes"
+      with_polkit1="yes"
+    else
+      if test "x$with_polkit" = "xcheck" ; then
+        with_polkit=no
+      else
+         AC_MSG_ERROR(
+           [You must install dbus to compile libvirt with polkit-1])
+      fi
+    fi
   else
     dnl Check for old polkit second - library + binary
     PKG_CHECK_MODULES(POLKIT, polkit-dbus >= $POLKIT_REQUIRED,
-- 
2.4.3




More information about the libvir-list mailing list