mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-09 01:18:00 +03:00
de3289e2b5
There was one attempt a year ago done by me to drop HAL [1] but it was never resolved. There was another time when Dan suggested to drop HAL driver [2] but it was decided to keep it around in case device assignment will be implemented for FreeBSD and the fact that virt-manager uses node device driver [3]. I checked git history and code and it doesn't look like bhyve supports device assignment so from that POV it should not block removing HAL. The argument about virt-manager is not strong as well because libvirt installed from FreeBSD packages doesn't have HAL support so it will not affect these users as well [4]. The only users affected by this change would be the ones compiling libvirt from GIT on FreeBSD. I looked into alternatives and there is libudev-devd package on FreeBSD but unfortunately it doesn't work as it doesn't list any devices when used with libvirt. It provides libudev APIs using devd. I also looked into devd directly and it provides some APIs but there are no APIs for device monitoring and events so that would have to be somehow done by libvirt. Main motivation for dropping HAL support is to replace libdbus with GLib dbus implementation and it cannot be done with HAL driver present in libvirt because HAL APIs heavily depends on symbols provided by libdbus. [1] <https://www.redhat.com/archives/libvir-list/2019-May/msg00203.html> [2] <https://www.redhat.com/archives/libvir-list/2016-April/msg00992.html> [3] <https://www.redhat.com/archives/libvir-list/2016-April/msg00994.html> [4] <https://svnweb.freebsd.org/ports/head/devel/libvirt/Makefile?view=markup> Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
105 lines
9.0 KiB
Meson
105 lines
9.0 KiB
Meson
option('no_git', type: 'boolean', value: false, description: 'Disable git submodule update')
|
|
option('packager', type: 'string', value: '', description: 'Extra packager name')
|
|
option('packager_version', type: 'string', value: '', description: 'Extra packager version')
|
|
option('system', type: 'boolean', value: false, description: 'Set install paths to system ones')
|
|
option('runstatedir', type: 'string', value: '', description: 'State directory for temporary sockets, pid files, etc')
|
|
option('expensive_tests', type: 'feature', value: 'auto', description: 'set the default for enabling expensive tests (long timeouts), use VIR_TEST_EXPENSIVE to override')
|
|
option('test_coverage', type: 'boolean', value: false, description: 'turn on code coverage instrumentation')
|
|
option('git_werror', type: 'feature', value: 'auto', description: 'use -Werror if building from GIT')
|
|
option('rpath', type: 'feature', value: 'auto', description: 'whether to include rpath information in installed binaries and libraries')
|
|
|
|
|
|
# build dependencies options
|
|
option('apparmor', type: 'feature', value: 'auto', description: 'apparmor support')
|
|
option('attr', type: 'feature', value: 'auto', description: 'attr support')
|
|
option('audit', type: 'feature', value: 'auto', description: 'audit support')
|
|
option('bash_completion', type: 'feature', value: 'auto', description: 'bash-completion support')
|
|
option('bash_completion_dir', type: 'string', value: '', description: 'directory containing bash completion scripts')
|
|
option('blkid', type: 'feature', value: 'auto', description: 'blkid support')
|
|
option('capng', type: 'feature', value: 'auto', description: 'cap-ng support')
|
|
option('curl', type: 'feature', value: 'auto', description: 'curl support')
|
|
option('dbus', type: 'feature', value: 'auto', description: 'dbus-1 support')
|
|
option('firewalld', type: 'feature', value: 'auto', description: 'firewalld support')
|
|
option('firewalld_zone', type: 'feature', value: 'auto', description: 'whether to install firewalld libvirt zone')
|
|
option('fuse', type: 'feature', value: 'auto', description: 'fuse support')
|
|
option('glusterfs', type: 'feature', value: 'auto', description: 'glusterfs support')
|
|
option('libiscsi', type: 'feature', value: 'auto', description: 'libiscsi support')
|
|
option('libpcap', type: 'feature', value: 'auto', description: 'libpcap support')
|
|
option('libssh', type: 'feature', value: 'auto', description: 'libssh support')
|
|
option('libssh2', type: 'feature', value: 'auto', description: 'libssh2 support')
|
|
option('macvtap', type: 'feature', value: 'auto', description: 'enable macvtap device')
|
|
option('netcf', type: 'feature', value: 'auto', description: 'netcf support')
|
|
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')
|
|
option('sanlock', type: 'feature', value: 'auto', description: 'sanlock support')
|
|
option('sasl', type: 'feature', value: 'auto', description: 'sasl support')
|
|
option('selinux', type: 'feature', value: 'auto', description: 'selinux support')
|
|
option('selinux_mount', type: 'string', value: '', description: 'set SELinux mount point')
|
|
option('udev', type: 'feature', value: 'auto', description: 'udev support')
|
|
option('virtualport', type: 'feature', value: 'auto', description: 'enable virtual port support')
|
|
option('wireshark_dissector', type: 'feature', value: 'auto', description: 'wireshark support')
|
|
option('wireshark_plugindir', type: 'string', value: '', description: 'wireshark plugins directory for use when installing wireshark plugin')
|
|
option('yajl', type: 'feature', value: 'auto', description: 'yajl support')
|
|
|
|
|
|
# build driver options
|
|
option('driver_bhyve', type: 'feature', value: 'auto', description: 'bhyve driver')
|
|
option('driver_esx', type: 'feature', value: 'auto', description: 'esx driver')
|
|
option('driver_hyperv', type: 'feature', value: 'auto', description: 'Hyper-V driver')
|
|
option('driver_interface', type: 'feature', value: 'auto', description: 'host interface driver')
|
|
option('driver_libvirtd', type: 'feature', value: 'auto', description: 'libvirtd driver')
|
|
option('driver_libxl', type: 'feature', value: 'auto', description: 'libxenlight driver')
|
|
option('driver_lxc', type: 'feature', value: 'auto', description: 'Linux Container driver')
|
|
option('driver_network', type: 'feature', value: 'auto', description: 'virtual network driver')
|
|
option('driver_openvz', type: 'feature', value: 'auto', description: 'OpenVZ driver')
|
|
option('driver_qemu', type: 'feature', value: 'auto', description: 'QEMU/KVM driver')
|
|
option('qemu_user', type: 'string', value: '', description: 'username to run QEMU system instance as')
|
|
option('qemu_group', type: 'string', value: '', description: 'groupname to run QEMU system instance as')
|
|
option('qemu_moddir', type: 'string', value: '', description: 'set the directory where QEMU modules are located')
|
|
option('driver_remote', type: 'feature', value: 'enabled', description: 'remote driver')
|
|
option('remote_default_mode', type: 'combo', choices: ['legacy', 'direct'], value: 'legacy', description: 'remote driver default mode')
|
|
option('driver_secrets', type: 'feature', value: 'auto', description: 'local secrets management driver')
|
|
option('driver_test', type: 'feature', value: 'enabled', description: 'test driver')
|
|
option('driver_vbox', type: 'feature', value: 'enabled', description: 'VirtualBox XPCOMC driver')
|
|
option('vbox_xpcomc_dir', type: 'string', value: '', description: 'Location of directory containing VirtualBox XPCOMC library')
|
|
option('driver_vmware', type: 'feature', value: 'enabled', description: 'VMware driver')
|
|
option('driver_vz', type: 'feature', value: 'auto', description: 'Virtuozzo driver')
|
|
|
|
option('secdriver_apparmor', type: 'feature', value: 'auto', description: 'use AppArmor security driver')
|
|
option('apparmor_profiles', type: 'boolean', value: false, description: 'install apparmor profiles')
|
|
option('secdriver_selinux', type: 'feature', value: 'auto', description: 'use SELinux security driver')
|
|
|
|
|
|
# storage driver options
|
|
option('storage_dir', type: 'feature', value: 'auto', description: 'directory backend for the storage driver')
|
|
option('storage_disk', type: 'feature', value: 'auto', description: 'GPartd Disk backend for the storage driver')
|
|
option('storage_fs', type: 'feature', value: 'auto', description: 'FileSystem backend for the storage driver')
|
|
option('storage_gluster', type: 'feature', value: 'auto', description: 'Gluster backend for the storage driver')
|
|
option('storage_iscsi', type: 'feature', value: 'auto', description: 'iscsi backend for the storage driver')
|
|
option('storage_iscsi_direct', type: 'feature', value: 'auto', description: 'iscsi-direct backend for the storage driver')
|
|
option('storage_lvm', type: 'feature', value: 'auto', description: 'LVM backend for the storage driver')
|
|
option('storage_mpath', type: 'feature', value: 'auto', description: 'mpath backend for the storage driver')
|
|
option('storage_rbd', type: 'feature', value: 'auto', description: 'RADOS Block Device backend for the storage driver')
|
|
option('storage_scsi', type: 'feature', value: 'auto', description: 'SCSI backend for the storage driver')
|
|
option('storage_sheepdog', type: 'feature', value: 'auto', description: 'Sheepdog backend for the storage driver')
|
|
option('storage_vstorage', type: 'feature', value: 'auto', description: 'Virtuozzo storage backend for the storage driver')
|
|
option('storage_zfs', type: 'feature', value: 'auto', description: 'ZFS backend for the storage driver')
|
|
|
|
|
|
# build feature options
|
|
option('chrdev_lock_files', type: 'string', value: '', description: 'location for UUCP style lock files for character devices (leave empty for default paths on some platforms)')
|
|
option('dtrace', type: 'feature', value: 'auto', description: 'use dtrace for static probing')
|
|
option('host_validate', type: 'feature', value: 'auto', description: 'build virt-host-validate')
|
|
option('init_script', type: 'combo', choices: ['systemd', 'openrc', 'check', 'none'], value: 'check', description: 'Style of init script to install')
|
|
option('loader_nvram', type: 'string', value: '', description: 'Pass list of pairs of <loader>:<nvram> paths. Both pairs and list items are separated by a colon.')
|
|
option('login_shell', type: 'feature', value: 'auto', description: 'build virt-login-shell')
|
|
option('nss', type: 'feature', value: 'auto', description: 'enable Name Service Switch plugin for resolving guest IP addresses')
|
|
option('numad', type: 'feature', value: 'auto', description: 'use numad to manage CPU placement dynamically')
|
|
option('pm_utils', type: 'feature', value: 'auto', description: 'use pm-utils for power management')
|
|
option('sysctl_config', type: 'feature', value: 'auto', description: 'Whether to install sysctl configs')
|
|
option('tls_priority', type: 'string', value: 'NORMAL', description: 'set the default TLS session priority string')
|