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(a)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