Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> --- configure.ac | 3 --- m4/virt-polkit.m4 | 62 ----------------------------------------------- meson.build | 13 ++++++++++ meson_options.txt | 1 + 4 files changed, 14 insertions(+), 65 deletions(-) delete mode 100644 m4/virt-polkit.m4 diff --git a/configure.ac b/configure.ac index 49e6cb6e84e..359bfe4fa54 100644 --- a/configure.ac +++ b/configure.ac @@ -110,7 +110,6 @@ fi LIBVIRT_ARG_NSS LIBVIRT_ARG_PM_UTILS -LIBVIRT_ARG_POLKIT LIBVIRT_ARG_SANLOCK LIBVIRT_ARG_SASL LIBVIRT_ARG_SELINUX @@ -121,7 +120,6 @@ LIBVIRT_ARG_YAJL LIBVIRT_CHECK_NWFILTER LIBVIRT_CHECK_PM_UTILS -LIBVIRT_CHECK_POLKIT LIBVIRT_CHECK_PTHREAD LIBVIRT_CHECK_SANLOCK LIBVIRT_CHECK_SASL @@ -412,7 +410,6 @@ AC_MSG_NOTICE([]) LIBVIRT_RESULT_LIBXL LIBVIRT_RESULT_NSS LIBVIRT_RESULT_PM_UTILS -LIBVIRT_RESULT_POLKIT LIBVIRT_RESULT_RBD LIBVIRT_RESULT_SANLOCK LIBVIRT_RESULT_SASL diff --git a/m4/virt-polkit.m4 b/m4/virt-polkit.m4 deleted file mode 100644 index 06da9e4ba6f..00000000000 --- a/m4/virt-polkit.m4 +++ /dev/null @@ -1,62 +0,0 @@ -dnl The polkit library -dnl -dnl Copyright (C) 2016 Red Hat, Inc. -dnl -dnl This library is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Lesser General Public -dnl License as published by the Free Software Foundation; either -dnl version 2.1 of the License, or (at your option) any later version. -dnl -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Lesser General Public License for more details. -dnl -dnl You should have received a copy of the GNU Lesser General Public -dnl License along with this library. If not, see -dnl <http://www.gnu.org/licenses/>. -dnl - -AC_DEFUN([LIBVIRT_ARG_POLKIT], [ - LIBVIRT_ARG_WITH([POLKIT], [use PolicyKit for UNIX socket access checks], - [check]) -]) - -AC_DEFUN([LIBVIRT_CHECK_POLKIT], [ - AC_REQUIRE([LIBVIRT_CHECK_DBUS]) - - if test "x$with_win" = "xyes"; then - with_polkit=no - fi - - if test "x$with_polkit" = "xcheck"; then - dnl For --with-polkit=check, also require the pkcheck binary, even - dnl though we talk to polkit directly over D-Bus. - AC_PATH_PROG([PKCHECK_PATH], [pkcheck], [], [$LIBVIRT_SBIN_PATH]) - if test "x$PKCHECK_PATH" = "x" ; then - with_polkit="no" - fi - fi - - if test "x$with_polkit" = "xyes" || test "x$with_polkit" = "xcheck"; then - dnl For --with-polkit=yes, all we need is D-Bus. - if test "x$with_dbus" = "xyes" ; then - AC_DEFINE_UNQUOTED([WITH_POLKIT], 1, - [use PolicyKit for UNIX socket access checks]) - with_polkit="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 - fi - - AM_CONDITIONAL([WITH_POLKIT], [test "x$with_polkit" = "xyes"]) -]) - -AC_DEFUN([LIBVIRT_RESULT_POLKIT], [ - LIBVIRT_RESULT([polkit], [$with_polkit]) -]) diff --git a/meson.build b/meson.build index 17116af59da..e6dc0aa8717 100644 --- a/meson.build +++ b/meson.build @@ -1226,6 +1226,12 @@ parallels_sdk_dep = dependency('parallels-sdk', version: '>=' + parallels_sdk_ve pciaccess_version = '0.10.0' pciaccess_dep = dependency('pciaccess', version: '>=' + pciaccess_version, required: get_option('pciaccess')) +if not get_option('polkit').disabled() and host_machine.system() != 'windows' + pkcheck_prog = find_program('pkcheck', required: false, dirs: libvirt_sbin_path) +else + pkcheck_prog = dependency('', required: false) +endif + # readline 7.0 is the first version which includes pkg-config support readline_version = '7.0' readline_dep = dependency('readline', version: '>=' + readline_version, required: false) @@ -1333,6 +1339,12 @@ if conf.has('WITH_MACVTAP') and not conf.has('HAVE_LIBNL') error('libnl3-devel is required for macvtap support') endif +if (pkcheck_prog.found() or get_option('polkit').enabled()) and dbus_dep.found() + conf.set('WITH_POLKIT', 1) +elif get_option('polkit').enabled() + error('You must install dbus to compile libvirt with polkit-1') +endif + # define top include directory @@ -1382,6 +1394,7 @@ libs_summary = { 'numaclt': numactl_dep.found(), 'openwsman': openwsman_dep.found(), 'pciaccess': pciaccess_dep.found(), + 'polkit': conf.has('WITH_POLKIT'), 'readline': readline_dep.found(), } summary(libs_summary, section: 'Libraries', bool_yn: true) diff --git a/meson_options.txt b/meson_options.txt index 991245e0841..3dfe4ca0166 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -33,4 +33,5 @@ option('nls', type: 'feature', value: 'auto', description: 'nls support') option('numactl', type: 'feature', value: 'auto', description: 'numactl support') option('openwsman', type: 'feature', value: 'auto', description: 'openwsman support') option('pciaccess', type: 'feature', value: 'auto', description: 'pciaccess support') +option('polkit', type: 'feature', value: 'auto', description: 'use PolicyKit for UNIX socket access checks') option('readline', type: 'feature', value: 'auto', description: 'readline support') -- 2.26.2