mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
meson: add polkit build option
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Neal Gompa <ngompa13@gmail.com>
This commit is contained in:
parent
3c0cfd6578
commit
67103acfc7
@ -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
|
||||
@ -410,7 +408,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
|
||||
|
@ -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])
|
||||
])
|
13
meson.build
13
meson.build
@ -1244,6 +1244,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)
|
||||
@ -1351,6 +1357,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
|
||||
|
||||
@ -1400,6 +1412,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)
|
||||
|
@ -34,6 +34,7 @@ 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')
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user