From ca9418232ca31ac1007bd762192ef1eb07707098 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 10 Jan 2018 07:08:57 +0100 Subject: [PATCH 1/9] build/meson: rename config_plugin_ibft option to just ibft --- meson.build | 8 ++++---- meson_options.txt | 2 +- src/settings/plugins/meson.build | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/meson.build b/meson.build index 75f542084e..72b6141b36 100644 --- a/meson.build +++ b/meson.build @@ -240,9 +240,9 @@ endif enable_ifcfg_rh = get_option('ifcfg_rh') or (distro == 'redhat') enable_ifupdown = get_option('ifupdown') or (distro == 'debian') +enable_ibft = get_option('ibft') or enable_ifcfg_rh -enable_config_plugin_ibft = get_option('config_plugin_ibft') -config_h.set10('WITH_SETTINGS_PLUGIN_IBFT', enable_config_plugin_ibft) +config_h.set10('WITH_SETTINGS_PLUGIN_IBFT', enable_ibft) config_plugins_default = get_option('config_plugins_default') if config_plugins_default == '' @@ -256,7 +256,7 @@ if config_plugins_default == '' config_plugins += ['ifupdown'] endif - if enable_config_plugin_ibft + if enable_ibft config_plugins += ['ibft'] endif @@ -981,7 +981,7 @@ output += ' libnm-glib: ' + enable_libnm_glib.to_string() + '\n' output += ' nmcli: ' + enable_nmcli.to_string() + '\n' output += ' nmtui: ' + enable_nmtui.to_string() + '\n' output += '\nConfiguration_plugins (main.plugins=' + config_plugins_default + ')\n' -output += ' ibft: ' + enable_config_plugin_ibft.to_string() + '\n' +output += ' ibft: ' + enable_ibft.to_string() + '\n' output += ' ifcfg-rh: ' + enable_ifcfg_rh.to_string() + '\n' output += ' ifupdown: ' + enable_ifupdown.to_string() + '\n' output += '\nHandlers for /etc/resolv.conf:\n' diff --git a/meson_options.txt b/meson_options.txt index 0cda980012..cd904c5f57 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -44,7 +44,7 @@ option('bluez5_dun', type: 'boolean', value: false, description: 'enable Bluez5 # 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') -option('config_plugin_ibft', type: 'boolean', value: true, description: 'enable ibft configuration plugin') +option('ibft', type: 'boolean', value: false, description: 'enable ibft configuration plugin') option('ifcfg_rh', type: 'boolean', value: false, description: 'enable ifcfg-rh configuration plugin (Fedora/RHEL)') option('ifupdown', type: 'boolean', value: false, description: 'enable ifupdown configuration plugin (Debian/Ubuntu)') diff --git a/src/settings/plugins/meson.build b/src/settings/plugins/meson.build index 1b5edbd46e..a1aa7823aa 100644 --- a/src/settings/plugins/meson.build +++ b/src/settings/plugins/meson.build @@ -1,5 +1,5 @@ -if enable_tests - subdir('keyfile/tests') +if enable_ibft + subdir('ibft') endif if enable_ifcfg_rh @@ -10,6 +10,6 @@ if enable_ifupdown subdir('ifupdown') endif -if enable_config_plugin_ibft - subdir('ibft') +if enable_tests + subdir('keyfile/tests') endif From 2ad6976cd48497a9fdbf3cd7c22f0ca6c5310995 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 10 Jan 2018 07:31:16 +0100 Subject: [PATCH 2/9] build/meson: fix build with -D session_tracking=no -D systemdsystemunitdir=no The variable enable_consolekit is used below, outside the if. We always must set it. --- meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 72b6141b36..6d29dfa3ee 100644 --- a/meson.build +++ b/meson.build @@ -402,6 +402,8 @@ session_tracking = get_option('session_tracking') session_trackers = [] enable_session_tracking = (session_tracking != 'no') +enable_consolekit = get_option('consolekit') + if enable_session_tracking if session_tracking == 'systemd' logind_dep = libsystemd_dep @@ -418,7 +420,6 @@ if enable_session_tracking config_h.set('SESSION_TRACKING_ELOGIND', true) endif - enable_consolekit = get_option('consolekit') if enable_consolekit session_trackers += 'consolekit' config_h.set_quoted('CKDB_PATH', '/var/run/ConsoleKit/database') From 32e989b5a77ebb7c4529bca1a71dd6e322a6ccf3 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 10 Jan 2018 09:06:52 +0100 Subject: [PATCH 3/9] build/meson: fix gir dependency with building without fake-typelibs --- libnm/meson.build | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libnm/meson.build b/libnm/meson.build index ea1445f906..d40ef91173 100644 --- a/libnm/meson.build +++ b/libnm/meson.build @@ -2,13 +2,7 @@ libnm_inc = include_directories('.') sources = files('nm-libnm-utils.c') -if have_fake_typelibs - subdir('fake-typelib') -endif - deps = [ - # FIXME: this makes GIR mandatory? - gir_dep, libnmdbus_dep, shared_dep ] @@ -19,6 +13,11 @@ cflags = [ '-DNMRUNDIR="@0@"'.format(nm_pkgrundir) ] +if have_fake_typelibs + deps += [ gir_dep ] + subdir('fake-typelib') +endif + libnm_utils = static_library( 'nm-utils', sources: sources, From 796df704a70c0a276bc89704293fe61dde9d6cc6 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 10 Jan 2018 09:12:39 +0100 Subject: [PATCH 4/9] build/meson: fix build without introspection nm_settings_docs is only defined with enable_introspection. --- docs/api/meson.build | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/api/meson.build b/docs/api/meson.build index 71c0286eb4..d0cc3ac8cf 100644 --- a/docs/api/meson.build +++ b/docs/api/meson.build @@ -3,14 +3,16 @@ doc_module = nm_name settings = 'settings-spec' output = settings + '.xml' -settings_xml = custom_target( - output, - input: nm_settings_docs, - output: output, - command: [xsltproc, '--output', '@OUTPUT@', join_paths(meson.current_source_dir(), settings + '.xsl'), '@INPUT@'], - # FIXME: there is no target depending on this, so it will not be built - build_by_default: true -) +if enable_introspection + settings_xml = custom_target( + output, + input: nm_settings_docs, + output: output, + command: [xsltproc, '--output', '@OUTPUT@', join_paths(meson.current_source_dir(), settings + '.xsl'), '@INPUT@'], + # FIXME: there is no target depending on this, so it will not be built + build_by_default: true + ) +endif configure_file( input: version_xml + '.in', From 3d7aa8483ecbcda97b25edf147461ed5cca49492 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 10 Jan 2018 09:47:58 +0100 Subject: [PATCH 5/9] build/meson: disable unit tests that are known to fail I think it's because meson doesn't run the tests in their own D-Bus session, hence the use the system service. automake solves this running all tests via ./tools/run-nm-test.sh, which knows how to prepare a suitable environment for the tests. --- libnm-glib/tests/meson.build | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libnm-glib/tests/meson.build b/libnm-glib/tests/meson.build index 2ab17039e5..14c3a67bf5 100644 --- a/libnm-glib/tests/meson.build +++ b/libnm-glib/tests/meson.build @@ -7,8 +7,9 @@ deps = [ ] test_units = [ - 'test-nm-client', - 'test-remote-settings-client' + # FIXME: these tests currently fail + #'test-nm-client', + #'test-remote-settings-client' ] foreach test_unit: test_units From ec016f6b43f4f7727944d67e358e7dc01ee2e42d Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 10 Jan 2018 10:15:58 +0100 Subject: [PATCH 6/9] build/meson: fix build without have_version_script We always need to declare the linker_script_* variables, because they are used (unconditionally) as a dependency, even without have_version_script. --- meson.build | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index 6d29dfa3ee..8fb9d92ff3 100644 --- a/meson.build +++ b/meson.build @@ -168,11 +168,9 @@ add_project_link_arguments(common_ldflags, language: 'c') ldflag = '-Wl,--version-script' have_version_script = host_machine.system().contains('linux') and cc.has_argument(ldflag) -if have_version_script - linker_script_binary = join_paths(meson.source_root(), 'linker-script-binary.ver') - linker_script_devices = join_paths(meson.source_root(), 'linker-script-devices.ver') - linker_script_settings = join_paths(meson.source_root(), 'linker-script-settings.ver') -endif +linker_script_binary = join_paths(meson.source_root(), 'linker-script-binary.ver') +linker_script_devices = join_paths(meson.source_root(), 'linker-script-devices.ver') +linker_script_settings = join_paths(meson.source_root(), 'linker-script-settings.ver') uuid_dep = dependency('uuid') libelogind_dep = dependency('libelogind', version: '>= 219', required: false) From 349861ceec4085fd1f0ff0af8bcf873aa15ba611 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 10 Jan 2018 10:29:11 +0100 Subject: [PATCH 7/9] build/meson: unconditionally use linker version scripts We also unconditionally use them with autotools. Also, the detection for have_version_script does not seem correct to me. At least, it didn't work with clang. --- clients/cli/meson.build | 7 +++---- clients/meson.build | 7 +++---- clients/tui/meson.build | 7 +++---- dispatcher/meson.build | 7 +++---- libnm-glib/meson.build | 14 ++++++-------- libnm-util/meson.build | 7 +++---- libnm/meson.build | 7 +++---- meson.build | 3 --- src/devices/adsl/meson.build | 7 +++---- src/devices/bluetooth/meson.build | 7 +++---- src/devices/ovs/meson.build | 7 +++---- src/devices/team/meson.build | 7 +++---- src/devices/wifi/meson.build | 7 +++---- src/devices/wwan/meson.build | 14 ++++++-------- src/dhcp/meson.build | 7 +++---- src/meson.build | 11 ++++------- src/ppp/meson.build | 7 +++---- src/settings/plugins/ibft/meson.build | 7 +++---- src/settings/plugins/ifcfg-rh/meson.build | 7 +++---- src/settings/plugins/ifupdown/meson.build | 7 +++---- 20 files changed, 64 insertions(+), 90 deletions(-) diff --git a/clients/cli/meson.build b/clients/cli/meson.build index 5b50018934..adfe0e94a9 100644 --- a/clients/cli/meson.build +++ b/clients/cli/meson.build @@ -31,10 +31,9 @@ cflags = clients_cflags + [ '-DNMCLI_LOCALEDIR="@0@"'.format(nm_localedir) ] -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_binary) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_binary), +] if enable_polkit_agent sources += nm_polkit_listener diff --git a/clients/meson.build b/clients/meson.build index f5e9c0eab2..efcaf299fb 100644 --- a/clients/meson.build +++ b/clients/meson.build @@ -14,10 +14,9 @@ cflags = clients_cflags + [ '-DG_LOG_DOMAIN="@0@"'.format(name), ] -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_binary) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_binary), +] executable( name, diff --git a/clients/tui/meson.build b/clients/tui/meson.build index 37428655a6..d2bf27c687 100644 --- a/clients/tui/meson.build +++ b/clients/tui/meson.build @@ -61,10 +61,9 @@ deps += [ libnmt_newt_dep ] -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_binary) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_binary), +] executable( name, diff --git a/dispatcher/meson.build b/dispatcher/meson.build index c72175bdb7..c6b94a39ed 100644 --- a/dispatcher/meson.build +++ b/dispatcher/meson.build @@ -54,10 +54,9 @@ sources += gnome.gdbus_codegen( namespace: 'NMDBus' ) -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_binary) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_binary), +] executable( name, diff --git a/libnm-glib/meson.build b/libnm-glib/meson.build index b4e3f0dcb7..9ec79ca72f 100644 --- a/libnm-glib/meson.build +++ b/libnm-glib/meson.build @@ -102,10 +102,9 @@ deps = common_deps + [libnm_util_dep] symbol_map = join_paths(meson.current_source_dir(), 'libnm-glib-vpn.ver') -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(symbol_map) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(symbol_map), +] libnm_glib_vpn = shared_library( 'nm-glib-vpn', @@ -195,10 +194,9 @@ deps = common_deps + [ symbol_map = join_paths(meson.current_source_dir(), 'libnm-glib.ver') -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(symbol_map) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(symbol_map), +] libnm_glib = shared_library( 'nm-glib', diff --git a/libnm-util/meson.build b/libnm-util/meson.build index db2bb44f39..3cd53d9e74 100644 --- a/libnm-util/meson.build +++ b/libnm-util/meson.build @@ -110,10 +110,9 @@ cflags = common_cflags + [ symbol_map = join_paths(meson.current_source_dir(), 'libnm-util.ver') -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(symbol_map) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(symbol_map), +] libnm_util = shared_library( 'nm-util', diff --git a/libnm/meson.build b/libnm/meson.build index d40ef91173..949908191c 100644 --- a/libnm/meson.build +++ b/libnm/meson.build @@ -145,10 +145,9 @@ deps = [ symbol_map = join_paths(meson.current_source_dir(), 'libnm.ver') -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(symbol_map) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(symbol_map), +] libnm = shared_library( 'nm', diff --git a/meson.build b/meson.build index 8fb9d92ff3..5a565e5a5c 100644 --- a/meson.build +++ b/meson.build @@ -165,9 +165,6 @@ endif add_project_arguments(common_flags, language: 'c') add_project_link_arguments(common_ldflags, language: 'c') -ldflag = '-Wl,--version-script' -have_version_script = host_machine.system().contains('linux') and cc.has_argument(ldflag) - linker_script_binary = join_paths(meson.source_root(), 'linker-script-binary.ver') linker_script_devices = join_paths(meson.source_root(), 'linker-script-devices.ver') linker_script_settings = join_paths(meson.source_root(), 'linker-script-settings.ver') diff --git a/src/devices/adsl/meson.build b/src/devices/adsl/meson.build index bca488e50f..227f67f62c 100644 --- a/src/devices/adsl/meson.build +++ b/src/devices/adsl/meson.build @@ -9,10 +9,9 @@ deps = [ nm_dep ] -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_devices) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_devices), +] libnm_device_plugin_adsl = shared_module( 'nm-device-plugin-adsl', diff --git a/src/devices/bluetooth/meson.build b/src/devices/bluetooth/meson.build index e1ce74b316..85d29c7621 100644 --- a/src/devices/bluetooth/meson.build +++ b/src/devices/bluetooth/meson.build @@ -14,10 +14,9 @@ deps = [ nm_dep ] -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_devices) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_devices), +] if enable_bluez5_dun sources += files('nm-bluez5-dun.c') diff --git a/src/devices/ovs/meson.build b/src/devices/ovs/meson.build index 64d98dfe33..c867e17b5a 100644 --- a/src/devices/ovs/meson.build +++ b/src/devices/ovs/meson.build @@ -12,10 +12,9 @@ deps = [ nm_dep ] -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_devices) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_devices), +] libnm_device_plugin_ovs = shared_module( 'nm-device-plugin-ovs', diff --git a/src/devices/team/meson.build b/src/devices/team/meson.build index 0853c610d0..84782890e8 100644 --- a/src/devices/team/meson.build +++ b/src/devices/team/meson.build @@ -10,10 +10,9 @@ deps = [ nm_dep ] -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_devices) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_devices), +] libnm_device_plugin_team = shared_module( 'nm-device-plugin-team', diff --git a/src/devices/wifi/meson.build b/src/devices/wifi/meson.build index a733b379c8..a6801f055e 100644 --- a/src/devices/wifi/meson.build +++ b/src/devices/wifi/meson.build @@ -21,10 +21,9 @@ deps = [ nm_dep ] -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_devices) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_devices), +] libnm_device_plugin_wifi = shared_module( 'nm-device-plugin-wifi', diff --git a/src/devices/wwan/meson.build b/src/devices/wwan/meson.build index e571cf94f8..70f6977775 100644 --- a/src/devices/wwan/meson.build +++ b/src/devices/wwan/meson.build @@ -16,10 +16,9 @@ endif symbol_name = join_paths(meson.current_source_dir(), 'libnm-wwan.ver') -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(symbol_name) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(symbol_name), +] libnm_wwan = shared_module( 'nm-wwan', @@ -51,10 +50,9 @@ sources = files( deps += libnmdbus_dep -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_devices) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_devices), +] libnm_device_plugin_wwan = shared_module( 'nm-device-plugin-wwan', diff --git a/src/dhcp/meson.build b/src/dhcp/meson.build index a41aac46a1..a08ca7653d 100644 --- a/src/dhcp/meson.build +++ b/src/dhcp/meson.build @@ -6,10 +6,9 @@ cflags = [ '-DNMRUNDIR="@0@"'.format(nm_pkgrundir), ] -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_binary) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_binary), +] executable( name, diff --git a/src/meson.build b/src/meson.build index df197bd28f..b3d7f333e0 100644 --- a/src/meson.build +++ b/src/meson.build @@ -232,9 +232,7 @@ symbol_map = custom_target( command: [create_exports_networkmanager, '--called-from-make', '@INPUT@'] ) -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(symbol_map) -endif +ldflags += '-Wl,--version-script,@0@'.format(symbol_map) ''' network_manager = executable( @@ -257,10 +255,9 @@ deps = [ nm_core_dep ] -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_binary) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_binary), +] name = 'nm-iface-helper' diff --git a/src/ppp/meson.build b/src/ppp/meson.build index fc6a319670..4c512e7604 100644 --- a/src/ppp/meson.build +++ b/src/ppp/meson.build @@ -28,10 +28,9 @@ deps = [ symbol_map = join_paths(meson.current_source_dir(), 'nm-ppp-plugin.ver') -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(symbol_map) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(symbol_map), +] core_plugins += shared_module( name, diff --git a/src/settings/plugins/ibft/meson.build b/src/settings/plugins/ibft/meson.build index 12f0acba6d..ace2f72a5c 100644 --- a/src/settings/plugins/ibft/meson.build +++ b/src/settings/plugins/ibft/meson.build @@ -17,10 +17,9 @@ sources = files( 'nms-ibft-plugin.c' ) -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_settings) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_settings), +] libnm_settings_plugin_ibft = shared_module( name, diff --git a/src/settings/plugins/ifcfg-rh/meson.build b/src/settings/plugins/ifcfg-rh/meson.build index 2d46fc45d0..eab51c0c0e 100644 --- a/src/settings/plugins/ifcfg-rh/meson.build +++ b/src/settings/plugins/ifcfg-rh/meson.build @@ -46,10 +46,9 @@ libnms_ifcfg_rh_core = static_library( sources = [dbus_sources] + files('nms-ifcfg-rh-connection.c') -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_settings) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_settings), +] libnm_settings_plugin_ifcfg_rh = shared_module( 'nm-settings-plugin-ifcfg-rh', diff --git a/src/settings/plugins/ifupdown/meson.build b/src/settings/plugins/ifupdown/meson.build index 9800f58887..1dc875a645 100644 --- a/src/settings/plugins/ifupdown/meson.build +++ b/src/settings/plugins/ifupdown/meson.build @@ -22,10 +22,9 @@ sources = files( 'nms-ifupdown-plugin.c' ) -ldflags = [] -if have_version_script - ldflags += '-Wl,--version-script,@0@'.format(linker_script_settings) -endif +ldflags = [ + '-Wl,--version-script,@0@'.format(linker_script_settings), +] libnm_settings_plugin_ifupdown = shared_module( 'nm-settings-plugin-ifupdown', From 58299703a256e91bb2b36bc4c8c50c08d9e52130 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 10 Jan 2018 06:32:04 +0100 Subject: [PATCH 8/9] travis: add meson builds to travis-ci --- .travis.yml | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b332c87269..dca9551815 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,6 +19,8 @@ addons: - libnl-3-dev - libnl-route-3-dev - libnl-genl-3-dev + - libmm-glib-dev + - ppp - ppp-dev - libpolkit-gobject-1-dev - libgnutls-dev @@ -44,7 +46,9 @@ addons: - libnl-3-dev - libndp-dev - automake + - dnsmasq - libcurl4-gnutls-dev + - python3-pip coverity_scan: project: name: NetworkManager/NetworkManager @@ -54,11 +58,43 @@ addons: before_install: - sudo dbus-uuidgen --ensure + - | + git clone https://github.com/ninja-build/ninja && + pushd ninja && + ./configure.py --bootstrap && + sudo cp ninja /usr/bin/ && + popd + - sudo pip3 install meson + - sudo chmod o+x /usr/sbin/pppd -script: | - sh autogen.sh --with-systemd-logind=no --enable-more-warnings=no --enable-ifcfg-rh --enable-ifupdown --enable-tests && - make -j4 && - ./contrib/travis/travis-check.sh +script: + - | + meson build \ + \ + -D ld_gc=false \ + -D session_tracking=no \ + -D systemdsystemunitdir=no \ + -D systemd_journal=false \ + -D selinux=false \ + -D libaudit=no \ + -D libpsl=false \ + -D vapi=false \ + -D introspection=false \ + -D qt=false \ + \ + -D docs=true \ + \ + -D ifcfg_rh=false \ + -D ibft=true \ + -D ifupdown=true \ + && + ninja -C build && + ninja -C build test + - | + git clean -fdx && + ./autogen.sh --with-systemd-logind=no --enable-more-warnings=no --enable-ifcfg-rh --enable-config-plugin-ibft --enable-ifupdown --enable-tests && + make -j4 && + ./contrib/travis/travis-check.sh env: global: From 4bf77ea810d9b648a44644cb7b522febf5e0d868 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 10 Jan 2018 10:00:22 +0100 Subject: [PATCH 9/9] travis: enable matrix build for gcc/clang and autotools/meson --- .travis.yml | 77 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/.travis.yml b/.travis.yml index dca9551815..37ec8d0209 100644 --- a/.travis.yml +++ b/.travis.yml @@ -57,45 +57,54 @@ addons: branch_pattern: .*coverity.* before_install: - - sudo dbus-uuidgen --ensure - - | - git clone https://github.com/ninja-build/ninja && - pushd ninja && - ./configure.py --bootstrap && - sudo cp ninja /usr/bin/ && - popd - - sudo pip3 install meson - - sudo chmod o+x /usr/sbin/pppd + - sudo dbus-uuidgen --ensure + - | + if test "$BUILD_TYPE" == 'meson'; then + git clone https://github.com/ninja-build/ninja && + pushd ninja && + ./configure.py --bootstrap && + sudo cp ninja /usr/bin/ && + popd + sudo pip3 install meson + fi + - sudo chmod o+x /usr/sbin/pppd script: - | - meson build \ - \ - -D ld_gc=false \ - -D session_tracking=no \ - -D systemdsystemunitdir=no \ - -D systemd_journal=false \ - -D selinux=false \ - -D libaudit=no \ - -D libpsl=false \ - -D vapi=false \ - -D introspection=false \ - -D qt=false \ - \ - -D docs=true \ - \ - -D ifcfg_rh=false \ - -D ibft=true \ - -D ifupdown=true \ - && - ninja -C build && - ninja -C build test + if test "$BUILD_TYPE" == 'meson'; then + meson build \ + \ + -D ld_gc=false \ + -D session_tracking=no \ + -D systemdsystemunitdir=no \ + -D systemd_journal=false \ + -D selinux=false \ + -D libaudit=no \ + -D libpsl=false \ + -D vapi=false \ + -D introspection=false \ + -D qt=false \ + \ + -D docs=true \ + \ + -D ifcfg_rh=false \ + -D ibft=true \ + -D ifupdown=true \ + && + ninja -C build && + ninja -C build test + fi - | - git clean -fdx && - ./autogen.sh --with-systemd-logind=no --enable-more-warnings=no --enable-ifcfg-rh --enable-config-plugin-ibft --enable-ifupdown --enable-tests && - make -j4 && - ./contrib/travis/travis-check.sh + if test "$BUILD_TYPE" == 'autotools'; then + git clean -fdx && + ./autogen.sh --with-systemd-logind=no --enable-more-warnings=no --enable-ifcfg-rh --enable-config-plugin-ibft --enable-ifupdown --enable-tests && + make -j4 && + ./contrib/travis/travis-check.sh + fi env: + matrix: + - BUILD_TYPE=autotools + - BUILD_TYPE=meson global: secure: K36MXkcsuDZ0msuEj5zHMmHfv6O725lsXuFdP6AJ3rYWKuLYE1+iNLgIRndNWDK9ckkNQFaCxDY4Z/NCfCYQTGAS9oXR5AwNqNbhOq8XrqdaZ2GX35sob8Tp4B3IsoREkN/UbIkXQKYlA5rUhgtSifUg3EwfeOiFvnLCwHcp0rYHnvT/jaq5vodBbA1jChjezcMHsp43kvPXHpybKRkipb9EzV/V3VtDLLWh9WQBvQNawpsHnT+MXSke1yU1zfNMyD9XiD7VDzCwaTs6LzjoFBLc86QS5U/9W72s0rFe6SbecntQHftknRzSrGiJDNe64wDZN/Wxq1MHxEOFCwDi6vcSwQ+RoTdhyshhfPVY2Mm5soj2w7Dx43Cz0dDZDCMhu5xxzFAFgkieJSfwXbuxga0ds58Ph8MgtDSp3fBRewZwI+vMuzl7a1hGkcqJojrm1lfgAKbNgrNUzQRwbVYAyrpa6/vCbd6ZH4PEtITwLaRf2mz8PG71xiMQguDDDXS8WF0U7Looe+G9ybAUwDS5hqHfeP+3q6bfN5Sg5Zs5QkBIN5LZbeWbPYldOEEDTvo3VI7e84bk7U5qEoUKc0w/tqVF1B5KgNUq6nIkCkmoBx8RFnmjpOHh99IfeRG9nQTRpCaEDvAM4fcRzITzId8dIIfAW/45P3ozzfz/HYiie+o=