From a92bb087b3320595bd0a9007b22f03322f602296 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Tue, 21 Jul 2015 17:52:03 +0100 Subject: [PATCH] configure: clarify rationale for checking pkcheck 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 --- configure.ac | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/configure.ac b/configure.ac index 70b3ef36ff..7c2257f2ae 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 existence 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, -- GitLab