2017-11-25 10:39:06 +00:00
# system paths
option ( 'systemdsystemunitdir' , type : 'string' , value : '' , description : 'Directory for systemd service files' )
option ( 'system_ca_path' , type : 'string' , value : '/etc/ssl/certs' , description : 'path to system CA certificates' )
option ( 'udev_dir' , type : 'string' , value : '' , description : 'Absolute path of the udev base directory. Set to \'no\' not to install the udev rule' )
option ( 'dbus_conf_dir' , type : 'string' , value : '' , description : 'where D-Bus system.d directory is' )
option ( 'kernel_firmware_dir' , type : 'string' , value : '/lib/firmware' , description : 'where kernel firmware directory is (default is /lib/firmware)' )
2018-09-07 14:52:09 +00:00
option ( 'iptables' , type : 'string' , value : '' , description : 'path to iptables' )
2021-05-06 14:50:25 +00:00
option ( 'nft' , type : 'string' , value : '' , description : 'path to nft' )
2018-09-07 14:52:09 +00:00
option ( 'dnsmasq' , type : 'string' , value : '' , description : 'path to dnsmasq' )
2023-07-10 09:05:42 +00:00
option ( 'modprobe' , type : 'string' , value : '' , description : 'path to modprobe' )
2017-11-25 10:39:06 +00:00
# platform
option ( 'dist_version' , type : 'string' , value : '' , description : 'Define the NM\'s distribution version string' )
2018-08-26 18:14:35 +00:00
option ( 'session_tracking_consolekit' , type : 'boolean' , value : true , description : 'Support consolekit session tracking' )
2017-11-25 10:39:06 +00:00
option ( 'session_tracking' , type : 'combo' , choices : [ 'systemd' , 'elogind' , 'no' ] , value : 'systemd' , description : 'Compatibility option to choose one session tracking module' )
2024-02-05 14:48:15 +00:00
option ( 'suspend_resume' , type : 'combo' , choices : [ 'systemd' , 'elogind' , 'consolekit' , 'auto' ] , value : 'auto' , description : 'Build NetworkManager with specific suspend/resume support' )
2018-10-16 05:31:56 +00:00
option ( 'polkit' , type : 'boolean' , value : true , description : 'User auth-polkit configuration option.' )
2019-12-10 07:51:03 +00:00
option ( 'config_auth_polkit_default' , type : 'combo' , choices : [ 'default' , 'true' , 'false' , 'root-only' ] , value : 'default' , description : 'Default value for configuration main.auth-polkit.' )
2017-11-25 10:39:06 +00:00
option ( 'modify_system' , type : 'boolean' , value : false , description : 'Allow users to modify system connections' )
2021-02-16 20:33:30 +00:00
option ( 'polkit_agent_helper_1' , type : 'string' , value : '' , description : 'Path name to the polkit-agent-helper-1 binary from polkit' )
2017-11-25 10:39:06 +00:00
option ( 'selinux' , type : 'boolean' , value : true , description : 'Build with SELinux' )
option ( 'systemd_journal' , type : 'boolean' , value : true , description : 'Use systemd journal for logging' )
2018-06-21 07:21:57 +00:00
option ( 'config_logging_backend_default' , type : 'combo' , choices : [ 'default' , 'syslog' , 'journal' ] , value : 'default' , description : 'Default value for logging.backend' )
2021-12-03 01:34:10 +00:00
option ( 'config_wifi_backend_default' , type : 'combo' , choices : [ 'default' , 'wpa_supplicant' , 'iwd' ] , value : 'default' , description : 'Default value for wifi.backend' )
2017-11-25 10:39:06 +00:00
option ( 'hostname_persist' , type : 'combo' , choices : [ 'default' , 'suse' , 'gentoo' , 'slackware' ] , value : 'default' , description : 'Hostname persist method' )
option ( 'libaudit' , type : 'combo' , choices : [ 'yes' , 'yes-disabled-by-default' , 'no' ] , value : 'yes' , description : 'Build with audit daemon support. yes-disabled-by-default enables support, but disables it unless explicitly configured via NetworkManager.conf' )
# features
option ( 'wext' , type : 'boolean' , value : true , description : 'Enable or disable Linux Wireless Extensions' )
option ( 'wifi' , type : 'boolean' , value : true , description : 'enable Wi-Fi support' )
option ( 'iwd' , type : 'boolean' , value : false , description : 'enable iwd support (experimental)' )
option ( 'ppp' , type : 'boolean' , value : true , description : 'enable PPP/PPPoE support' )
2018-09-07 14:52:59 +00:00
option ( 'pppd' , type : 'string' , value : '' , description : 'path to pppd binary' )
2017-11-25 10:39:06 +00:00
option ( 'pppd_plugin_dir' , type : 'string' , value : '' , description : 'path to the pppd plugins directory' )
option ( 'modem_manager' , type : 'boolean' , value : true , description : 'Enable new ModemManager1 interface support' )
2023-01-27 21:38:42 +00:00
option ( 'mobile_broadband_provider_info_database' , type : 'string' , value : '' , description : 'path to the mobile-broadband-provider-info database' )
2017-11-25 10:39:06 +00:00
option ( 'ofono' , type : 'boolean' , value : false , description : 'Enable oFono support (experimental)' )
option ( 'concheck' , type : 'boolean' , value : true , description : 'enable connectivity checking support' )
option ( 'teamdctl' , type : 'boolean' , value : false , description : 'enable Teamd control support' )
2018-11-28 08:58:44 +00:00
option ( 'ovs' , type : 'boolean' , value : true , description : 'enable Open vSwitch support' )
2017-11-25 10:39:06 +00:00
option ( 'nmcli' , type : 'boolean' , value : true , description : 'Build nmcli' )
option ( 'nmtui' , type : 'boolean' , value : true , description : 'Build nmtui' )
2023-05-11 12:20:23 +00:00
option ( 'nm_cloud_setup' , type : 'boolean' , value : true , description : 'Build nm-cloud-setup, a tool for automatically configuring networking in cloud' )
2017-11-25 10:39:06 +00:00
option ( 'bluez5_dun' , type : 'boolean' , value : false , description : 'enable Bluez5 DUN support' )
2022-07-22 11:04:52 +00:00
option ( 'ebpf' , type : 'combo' , choices : [ 'auto' , 'true' , 'false' ] , description : 'Enable eBPF support' )
2017-11-25 10:39:06 +00:00
# configuration plugins
option ( 'config_plugins_default' , type : 'string' , value : '' , description : 'Default configuration option for main.plugins setting, used as fallback if the configuration option is unset' )
2023-05-31 07:07:59 +00:00
option ( 'ifcfg_rh' , type : 'boolean' , value : false , description : 'enable ifcfg-rh configuration plugin (Fedora/RHEL) (deprecated)' )
2022-07-22 11:04:52 +00:00
option ( 'ifupdown' , type : 'combo' , choices : [ 'auto' , 'true' , 'false' ] , value : 'auto' , description : 'enable ifupdown configuration plugin (Debian/Ubuntu)' )
2023-07-24 12:20:04 +00:00
option ( 'config_migrate_ifcfg_rh_default' , type : 'boolean' , value : false , description : 'The default value of the main.migrate-ifcfg-rh configuration option' )
2017-11-25 10:39:06 +00:00
# handlers for resolv.conf
2018-09-07 15:12:31 +00:00
option ( 'resolvconf' , type : 'string' , value : '' , description : 'Enable resolvconf support' )
option ( 'netconfig' , type : 'string' , value : '' , description : 'Enable SUSE netconfig support' )
2020-08-07 17:43:35 +00:00
option ( 'config_dns_rc_manager_default' , type : 'combo' , choices : [ 'auto' , 'symlink' , 'file' , 'netconfig' , 'resolvconf' ] , value : 'auto' , description : 'Configure default value for main.rc-manager setting' )
2017-11-25 10:39:06 +00:00
# dhcp clients
2018-09-07 15:02:59 +00:00
option ( 'dhclient' , type : 'string' , value : '' , description : 'Enable dhclient support' )
option ( 'dhcpcanon' , type : 'string' , value : '' , description : 'Enable dhcpcanon support (experimental)' )
option ( 'dhcpcd' , type : 'string' , value : '' , description : 'Enable dhcpcd support' )
dhcp: add nettools dhcp4 client
This is inspired by the existing systemd integration, with a few differences:
* This parses the WPAD option, which systemd requested, but did not use.
* We hook into the DAD handling, only making use of the configured address
once DAD has completed successfully, and declining the lease if it fails.
There are still many areas of possible improvement. In particular, we need
to ensure the parsing of all options are compliant, as n-dhcp4 treats all
options as opaque, unlike sd-dhcp4. We probably also need to look at how
to handle failures and retries (in particular if we decline a lease).
We need to query the current MTU at client startu, as well as the hardware
broadcast address. Both these are provided by the kernel over netlink, so
it should simply be a matter of hooking that up with NM's netlink layer.
Contribution under LGPL2.0+, in addition to stated licenses.
2019-05-13 18:02:48 +00:00
option ( 'config_dhcp_default' , type : 'combo' , choices : [ 'dhcpcanon' , 'dhclient' , 'dhcpcd' , 'internal' , 'nettools' ] , value : 'internal' , description : 'Default configuration option for main.dhcp setting, used as fallback if the configuration option is unset' )
2017-11-25 10:39:06 +00:00
# miscellaneous
option ( 'introspection' , type : 'boolean' , value : true , description : 'Enable introspection for this build' )
2018-09-14 13:33:47 +00:00
option ( 'vapi' , type : 'combo' , choices : [ 'auto' , 'true' , 'false' ] , description : 'build Vala bindings' )
2017-11-25 10:39:06 +00:00
option ( 'docs' , type : 'boolean' , value : false , description : 'use to build documentation' )
option ( 'tests' , type : 'combo' , choices : [ 'yes' , 'no' , 'root' ] , value : 'yes' , description : 'Build NetworkManager tests' )
2020-05-08 07:09:25 +00:00
option ( 'firewalld_zone' , type : 'boolean' , value : true , description : 'Install and use firewalld zone for shared mode' )
2020-09-08 16:35:56 +00:00
option ( 'more_asserts' , type : 'string' , value : 'auto' , description : 'Enable more assertions for debugging (0 = no, 100 = all, default: auto)' )
2017-11-25 10:39:06 +00:00
option ( 'more_logging' , type : 'boolean' , value : true , description : 'Enable more debug logging' )
2017-12-18 19:33:30 +00:00
option ( 'valgrind' , type : 'array' , value : [ 'no' ] , description : 'Use valgrind to memory-check the tests' )
2017-11-25 10:39:06 +00:00
option ( 'valgrind_suppressions' , type : 'string' , value : '' , description : 'Use specific valgrind suppression file' )
option ( 'ld_gc' , type : 'boolean' , value : true , description : 'Enable garbage collection of unused symbols on linking' )
option ( 'libpsl' , type : 'boolean' , value : true , description : 'Link against libpsl' )
2022-01-31 13:42:21 +00:00
option ( 'crypto' , type : 'combo' , choices : [ 'nss' , 'gnutls' , 'null' ] , value : 'nss' , description : 'Cryptography library to use for certificate and key operations' )
2017-11-25 10:39:06 +00:00
option ( 'qt' , type : 'boolean' , value : true , description : 'enable Qt examples' )
2021-04-05 14:07:53 +00:00
option ( 'readline' , type : 'combo' , choices : [ 'auto' , 'libreadline' , 'libedit' , 'none' ] , description : 'Using readline (auto) or libedit)' )