mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-09 23:10:08 +00:00
64b966558c
It still can have only one useful value ("iptables"), but once a 2nd value is supported, it will be selectable by setting "firewall_backend=nftables" in /etc/libvirt/network.conf. If firewall_backend isn't set in network.conf, then libvirt will check to see if FIREWALL_BACKEND_DEFAULT_1 is available and, if so, set that. (Since FIREWALL_BACKEND_DEFAULT_1 is currently "iptables", this means checking to see it the iptables binary is present on the system). If the default backend isn't available, that is considered a fatal error (since no networks can be started anyway), so an error is logged and startup of the network driver fails. NB: network.conf is itself created from network.conf.in at build time, and the advertised default setting of firewall_backend (in a commented out line) is set from the meson_options.txt setting "firewall_backend_default_1". This way the conf file will have correct information no matter what ordering is chosen for default backend at build time (as more backends are added, settings will be added for "firewall_backend_default_n", and those will be settable in meson_options.txt and on the meson commandline to change the ordering of the auto-detection when no backend is set in network.conf). virNetworkLoadDriverConfig() may look more complicated than necessary, but as additional backends are added, it will be easier to add checks for those backends (and to re-order the checks based on builders' preferences). Signed-off-by: Laine Stump <laine@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
136 lines
11 KiB
Meson
136 lines
11 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('initconfdir', type: 'string', value: '', description: 'directory for init script configuration files')
|
|
# dep:tests
|
|
option('expensive_tests', type: 'feature', value: 'auto', description: 'set the default for enabling expensive tests (long timeouts)')
|
|
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')
|
|
option('docdir', type: 'string', value: '', description: 'documentation installation directory')
|
|
option('docs', type: 'feature', value: 'auto', description: 'whether to generate documentation')
|
|
option('tests', type: 'feature', value: 'auto', description: 'whether to build and run tests')
|
|
|
|
|
|
# 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')
|
|
# dep:readline
|
|
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('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('libnl', type: 'feature', value: 'auto', description: 'libnl 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('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('sshconfdir', type: 'string', value: '', description: 'directory for SSH client configuration')
|
|
# dep:pciaccess
|
|
option('udev', type: 'feature', value: 'auto', description: 'udev support')
|
|
# dep:driver_remote
|
|
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')
|
|
# dep:curl
|
|
option('driver_esx', type: 'feature', value: 'auto', description: 'esx driver')
|
|
# dep:openwsman
|
|
option('driver_hyperv', type: 'feature', value: 'auto', description: 'Hyper-V driver')
|
|
# dep:pciaccess dep:udev dep:driver_remote dep:driver_libvirtd
|
|
option('driver_interface', type: 'feature', value: 'auto', description: 'host interface driver')
|
|
# dep:driver_remote
|
|
option('driver_libvirtd', type: 'feature', value: 'auto', description: 'libvirtd driver')
|
|
# dep:driver_remote dep:driver_libvirtd
|
|
option('driver_libxl', type: 'feature', value: 'auto', description: 'libxenlight driver')
|
|
# dep:driver_remote dep:driver_libvirtd
|
|
option('driver_lxc', type: 'feature', value: 'auto', description: 'Linux Container driver')
|
|
# dep:curl dep:yajl dep:driver_remote dep:driver_libvirtd
|
|
option('driver_ch', type: 'feature', value: 'auto', description: 'Cloud-Hypervisor driver')
|
|
option('ch_user', type: 'string', value: '', description: 'username to run Cloud-Hypervisor system instance as')
|
|
option('ch_group', type: 'string', value: '', description: 'groupname to run Cloud-Hypervisor system instance as')
|
|
# dep:driver_remote dep:driver_libvirtd
|
|
option('driver_network', type: 'feature', value: 'auto', description: 'virtual network driver')
|
|
option('driver_openvz', type: 'feature', value: 'auto', description: 'OpenVZ driver')
|
|
# dep:yajl dep:driver_remote dep:driver_libvirtd
|
|
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('qemu_datadir', type: 'string', value: '', description: 'set the directory where QEMU shared data is located')
|
|
option('driver_remote', type: 'feature', value: 'auto', description: 'remote driver')
|
|
option('remote_default_mode', type: 'combo', choices: ['legacy', 'direct'], value: 'direct', description: 'remote driver default mode')
|
|
option('driver_secrets', type: 'feature', value: 'auto', description: 'local secrets management driver')
|
|
option('driver_test', type: 'feature', value: 'auto', description: 'test driver')
|
|
option('driver_vbox', type: 'feature', value: 'auto', 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: 'auto', 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')
|
|
# dep:secdriver_apparmor
|
|
option('apparmor_profiles', type: 'feature', value: 'auto', description: 'install apparmor profiles')
|
|
# dep:selinux
|
|
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_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('firewalld', type: 'feature', value: 'auto', description: 'firewalld support')
|
|
# dep:firewalld
|
|
option('firewalld_zone', type: 'feature', value: 'auto', description: 'whether to install firewalld libvirt zone')
|
|
option('firewall_backend_default_1', type: 'string', value: 'iptables', description: 'first firewall backend to try when none is specified')
|
|
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')
|
|
# dep:yajl dep:driver_network dep:libvirtd
|
|
option('nss', type: 'feature', value: 'auto', description: 'enable Name Service Switch plugin for resolving guest IP addresses')
|
|
# dep:numactl
|
|
option('numad', type: 'feature', value: 'auto', description: 'use numad to manage CPU placement dynamically')
|
|
option('nbdkit', type: 'feature', value: 'auto', description: 'Build nbdkit storage backend')
|
|
# dep:nbdkit
|
|
option('nbdkit_config_default', type: 'feature', value: 'auto', description: 'Whether to use nbdkit storage backend for network disks by default (configurable)')
|
|
option('pm_utils', type: 'feature', value: 'auto', description: 'use pm-utils for power management')
|
|
option('ssh_proxy', type: 'feature', value: 'auto', description: 'Build ssh-proxy for ssh over vsock')
|
|
option('sysctl_config', type: 'feature', value: 'auto', description: 'Whether to install sysctl configs')
|
|
# dep:sysctl_config
|
|
option('userfaultfd_sysctl', type: 'feature', value: 'auto', description: 'Whether to install sysctl config for enabling unprivileged userfaultfd')
|
|
option('tls_priority', type: 'string', value: 'NORMAL', description: 'set the default TLS session priority string')
|