diff options
author | Thomas Haller <thaller@redhat.com> | 2016-10-13 21:52:51 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-10-13 21:52:51 +0200 |
commit | d2cc6fb14806b9e272ddb7324320376b3a998a96 (patch) | |
tree | 5692c073789bddac1c453f9aea0580b609400c52 | |
parent | 034f07787dc68fe1f81662d537c9baf81302a573 (diff) | |
parent | 17bb165c0573f35ca8f8bccdfdeaa048f5583370 (diff) |
build: merge branch 'th/nm-symbols-bgo772791'
https://bugzilla.gnome.org/show_bug.cgi?id=772791
57 files changed, 926 insertions, 282 deletions
diff --git a/.gitignore b/.gitignore index ba1463955..ef0055f25 100644 --- a/.gitignore +++ b/.gitignore @@ -49,11 +49,11 @@ test-*.trs /conftest.[ch] /conftest.o.* -/callouts/nm-avahi-autoipd.action -/callouts/nm-dispatcher -/callouts/nmdbus-dispatcher.* -/callouts/org.freedesktop.nm_dispatcher.service -/callouts/tests/test-dispatcher-envp +/dispatcher/nm-avahi-autoipd.action +/dispatcher/nm-dispatcher +/dispatcher/nmdbus-dispatcher.* +/dispatcher/org.freedesktop.nm_dispatcher.service +/dispatcher/tests/test-dispatcher-envp /clients/cli/nmcli /clients/cli/settings-docs.c @@ -276,6 +276,11 @@ test-*.trs # but they were on older versions. Thus keep ignoring them # otherwise when switching branches these untracked files show # up. +/callouts/nm-avahi-autoipd.action +/callouts/nm-dispatcher +/callouts/nmdbus-dispatcher.* +/callouts/org.freedesktop.nm_dispatcher.service +/callouts/tests/test-dispatcher-envp /include/ /initscript/Slackware/rc.networkmanager /initscript/*/[Nn]etwork[Mm]anager diff --git a/Makefile.am b/Makefile.am index a79bddca3..af2eb0bab 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,16 +1,18 @@ include $(GLIB_MAKEFILE) +@GNOME_CODE_COVERAGE_RULES@ + +############################################################################### + SUBDIRS = \ . \ - shared \ introspection \ libnm-core \ libnm \ src \ - callouts \ + dispatcher \ clients \ tools \ - policy \ data \ po \ man \ @@ -26,17 +28,7 @@ SUBDIRS += \ docs \ vapi -@GNOME_CODE_COVERAGE_RULES@ - -EXTRA_DIST = \ - CONTRIBUTING \ - NetworkManager.pc.in \ - intltool-extract.in \ - intltool-merge.in \ - intltool-update.in \ - Makefile.glib \ - autogen.sh \ - valgrind.suppressions +############################################################################### DISTCHECK_CONFIGURE_FLAGS = \ --enable-tests=yes \ @@ -61,12 +53,75 @@ dist: dist-check-setting-docs DISTCLEANFILES = intltool-extract intltool-merge intltool-update +############################################################################### + pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = NetworkManager.pc -CLEANFILES = cscope.in.out cscope.out cscope.po.out +############################################################################### + +polkit_policydir = $(datadir)/polkit-1/actions + +dist_polkit_policy_in_in_files = \ + policy/org.freedesktop.NetworkManager.policy.in.in + +polkit_policy_DATA = $(dist_polkit_policy_in_in_files:.policy.in.in=.policy) + +@INTLTOOL_POLICY_RULE@ + +DISTCLEANFILES += $(polkit_policy_DATA) + +############################################################################### + +EXTRA_DIST = \ + CONTRIBUTING \ + NetworkManager.pc.in \ + intltool-extract.in \ + intltool-merge.in \ + intltool-update.in \ + linker-script-binary.ver \ + linker-script-devices.ver \ + linker-script-settings.ver \ + Makefile.glib \ + autogen.sh \ + valgrind.suppressions \ + \ + shared/nm-common-macros.h \ + shared/nm-dbus-compat.h \ + shared/nm-default.h \ + shared/nm-dispatcher-api.h \ + shared/nm-test-libnm-utils.h \ + shared/nm-test-utils-impl.c \ + shared/nm-utils/gsystem-local-alloc.h \ + shared/nm-utils/nm-glib.h \ + shared/nm-utils/nm-macros-internal.h \ + shared/nm-utils/nm-shared-utils.c \ + shared/nm-utils/nm-shared-utils.h \ + shared/nm-utils/nm-test-utils.h \ + shared/nm-utils/nm-vpn-editor-plugin-call.h \ + shared/nm-utils/nm-vpn-plugin-macros.h \ + shared/nm-utils/nm-vpn-plugin-utils.c \ + shared/nm-utils/nm-vpn-plugin-utils.h \ + shared/nm-version-macros.h.in \ + \ + $(NULL) + +CLEANFILES = \ + cscope.in.out \ + cscope.out \ + cscope.po.out \ + \ + shared/nm-version-macros.h \ + \ + policy/*~ \ + \ + $(NULL) + +############################################################################### cscope: cscope -b -q -R -sshared -ssrc -slibnm-core -slibnm -slibnm-glib -slibnm-util -sclients; +############################################################################### + .PHONY: cscope diff --git a/clients/Makefile.am b/clients/Makefile.am index 4a526a659..46cb1d1e0 100644 --- a/clients/Makefile.am +++ b/clients/Makefile.am @@ -17,6 +17,9 @@ nm_online_CPPFLAGS = \ -DG_LOG_DOMAIN=\""nm-online"\" \ $(AM_CPPFLAGS) +nm_online_LDFLAGS = \ + -Wl,--version-script="$(top_srcdir)/linker-script-binary.ver" + nm_online_LDADD = \ $(top_builddir)/libnm/libnm.la \ $(GLIB_LIBS) diff --git a/clients/cli/Makefile.am b/clients/cli/Makefile.am index 7edbefad3..deb8159cb 100644 --- a/clients/cli/Makefile.am +++ b/clients/cli/Makefile.am @@ -54,6 +54,9 @@ nmcli_SOURCES += $(srcdir)/../common/nm-polkit-listener.c $(srcdir)/../common/nm nmcli_LDADD += $(POLKIT_LIBS) endif +nmcli_LDFLAGS = \ + -Wl,--version-script="$(top_srcdir)/linker-script-binary.ver" + if BUILD_SETTING_DOCS settings-docs.c: settings-docs.xsl $(top_builddir)/libnm/nm-property-docs.xml $(AM_V_GEN) xsltproc --output $@ $^ diff --git a/clients/tui/Makefile.am b/clients/tui/Makefile.am index 30ed9dde3..1fe2ec451 100644 --- a/clients/tui/Makefile.am +++ b/clients/tui/Makefile.am @@ -119,6 +119,9 @@ nmtui_SOURCES = \ $(srcdir)/../common/nm-vpn-helpers.h \ $(NULL) +nmtui_LDFLAGS = \ + -Wl,--version-script="$(top_srcdir)/linker-script-binary.ver" + nmtui_LDADD = \ $(top_builddir)/libnm/libnm.la \ $(builddir)/newt/libnmt-newt.a \ diff --git a/configure.ac b/configure.ac index 717209310..a245d7293 100644 --- a/configure.ac +++ b/configure.ac @@ -1136,7 +1136,6 @@ AM_CONDITIONAL(SETTING_DOCS_AVAILABLE, test "$build_setting_docs" = "yes" -o "$h AC_CONFIG_FILES([ Makefile -shared/Makefile shared/nm-version-macros.h src/Makefile src/tests/Makefile @@ -1184,8 +1183,8 @@ libnm-glib/libnm-glib.pc libnm-glib/libnm-glib-vpn.pc libnm-glib/Makefile libnm-glib/tests/Makefile -callouts/Makefile -callouts/tests/Makefile +dispatcher/Makefile +dispatcher/tests/Makefile tools/Makefile clients/Makefile clients/cli/Makefile @@ -1195,7 +1194,6 @@ introspection/Makefile man/Makefile man/common.ent po/Makefile.in -policy/Makefile policy/org.freedesktop.NetworkManager.policy.in data/Makefile docs/Makefile diff --git a/callouts/Makefile.am b/dispatcher/Makefile.am index 82d7e7557..1f65b47a6 100644 --- a/callouts/Makefile.am +++ b/dispatcher/Makefile.am @@ -1,5 +1,12 @@ SUBDIRS = . tests +libexec_PROGRAMS = \ + nm-dispatcher + +noinst_LTLIBRARIES = \ + libnm-dispatcher-core.la \ + libnmdbus-dispatcher.la + AM_CPPFLAGS = \ -I${top_srcdir}/shared \ -I${top_builddir}/shared \ @@ -11,36 +18,39 @@ AM_CPPFLAGS = \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" -########################################### -# Test libraries -########################################### - -noinst_LTLIBRARIES = \ - libtest-dispatcher-envp.la - +############################################################################### dbusservicedir = $(DBUS_SYS_DIR) dbusservice_DATA = \ nm-dispatcher.conf -libexec_PROGRAMS = \ - nm-dispatcher +############################################################################### - -nm_dispatcher_SOURCES = \ +libnm_dispatcher_core_la_SOURCES = \ $(top_srcdir)/shared/nm-dispatcher-api.h \ - nm-dispatcher.c \ nm-dispatcher-utils.c \ nm-dispatcher-utils.h +libnm_dispatcher_core_la_LIBADD = \ + $(top_builddir)/libnm/libnm.la \ + $(GLIB_LIBS) + +############################################################################### + +nm_dispatcher_SOURCES = \ + $(top_srcdir)/shared/nm-dispatcher-api.h \ + nm-dispatcher.c + +nm_dispatcher_LDFLAGS = \ + -Wl,--version-script="$(top_srcdir)/linker-script-binary.ver" + nm_dispatcher_LDADD = \ $(top_builddir)/libnm/libnm.la \ + libnm-dispatcher-core.la \ libnmdbus-dispatcher.la \ $(GLIB_LIBS) -# See note about gdbus-codegen in introspection/Makefile.am - -noinst_LTLIBRARIES += libnmdbus-dispatcher.la +############################################################################### nodist_libnmdbus_dispatcher_la_SOURCES = \ nmdbus-dispatcher.c \ @@ -60,21 +70,7 @@ nmdbus-dispatcher.c: nmdbus-dispatcher.h BUILT_SOURCES = nmdbus-dispatcher.h nmdbus-dispatcher.c -########################################### -# dispatcher envp -########################################### - -libtest_dispatcher_envp_la_SOURCES = \ - nm-dispatcher-utils.c \ - nm-dispatcher-utils.h - -libtest_dispatcher_envp_la_CPPFLAGS = \ - $(AM_CPPFLAGS) - -libtest_dispatcher_envp_la_LIBADD = \ - $(top_builddir)/libnm/libnm.la \ - $(GLIB_LIBS) - +############################################################################### dbusactivationdir = $(datadir)/dbus-1/system-services dbusactivation_in_files = org.freedesktop.nm_dispatcher.service.in @@ -96,7 +92,11 @@ install-data-hook: $(mkinstalldirs) -m 0755 $(DESTDIR)$(dispatcherdir)/pre-up.d $(mkinstalldirs) -m 0755 $(DESTDIR)$(dispatcherdir)/no-wait.d -CLEANFILES = $(nodist_libnmdbus_dispatcher_la_SOURCES) $(dbusactivation_DATA) +############################################################################### + +CLEANFILES = \ + $(BUILT_SOURCES) \ + $(dbusactivation_DATA) EXTRA_DIST = \ $(dbusservice_DATA) \ diff --git a/callouts/nm-dispatcher-utils.c b/dispatcher/nm-dispatcher-utils.c index 64a4b9ef6..64a4b9ef6 100644 --- a/callouts/nm-dispatcher-utils.c +++ b/dispatcher/nm-dispatcher-utils.c diff --git a/callouts/nm-dispatcher-utils.h b/dispatcher/nm-dispatcher-utils.h index a60343266..a60343266 100644 --- a/callouts/nm-dispatcher-utils.h +++ b/dispatcher/nm-dispatcher-utils.h diff --git a/callouts/nm-dispatcher.c b/dispatcher/nm-dispatcher.c index 6bb522185..6bb522185 100644 --- a/callouts/nm-dispatcher.c +++ b/dispatcher/nm-dispatcher.c diff --git a/callouts/nm-dispatcher.conf b/dispatcher/nm-dispatcher.conf index fd2f0e5a4..fd2f0e5a4 100644 --- a/callouts/nm-dispatcher.conf +++ b/dispatcher/nm-dispatcher.conf diff --git a/callouts/nm-dispatcher.xml b/dispatcher/nm-dispatcher.xml index 0d9d28e2c..0d9d28e2c 100644 --- a/callouts/nm-dispatcher.xml +++ b/dispatcher/nm-dispatcher.xml diff --git a/callouts/org.freedesktop.nm_dispatcher.service.in b/dispatcher/org.freedesktop.nm_dispatcher.service.in index ff037cca9..ff037cca9 100644 --- a/callouts/org.freedesktop.nm_dispatcher.service.in +++ b/dispatcher/org.freedesktop.nm_dispatcher.service.in diff --git a/callouts/tests/Makefile.am b/dispatcher/tests/Makefile.am index 2450f372a..e7e50adc0 100644 --- a/callouts/tests/Makefile.am +++ b/dispatcher/tests/Makefile.am @@ -5,8 +5,8 @@ AM_CPPFLAGS = \ -I$(top_builddir)/shared \ -I$(top_srcdir)/libnm-core \ -I$(top_builddir)/libnm-core \ - -I$(top_srcdir)/callouts \ - -I$(top_builddir)/callouts \ + -I$(top_srcdir)/dispatcher \ + -I$(top_builddir)/dispatcher \ -DNETWORKMANAGER_COMPILATION \ -DSRCDIR=\"$(abs_srcdir)\" \ $(GLIB_CFLAGS) @@ -14,17 +14,17 @@ AM_CPPFLAGS = \ noinst_PROGRAMS = \ test-dispatcher-envp -####### dispatcher envp ####### +############################################################################### test_dispatcher_envp_SOURCES = \ test-dispatcher-envp.c test_dispatcher_envp_LDADD = \ $(top_builddir)/libnm/libnm.la \ - $(top_builddir)/callouts/libtest-dispatcher-envp.la \ + $(top_builddir)/dispatcher/libnm-dispatcher-core.la \ $(GLIB_LIBS) -########################################### +############################################################################### @VALGRIND_RULES@ TESTS = test-dispatcher-envp diff --git a/callouts/tests/dispatcher-connectivity-full b/dispatcher/tests/dispatcher-connectivity-full index c370bc355..0b2796d12 100644 --- a/callouts/tests/dispatcher-connectivity-full +++ b/dispatcher/tests/dispatcher-connectivity-full @@ -17,7 +17,7 @@ PATH= CONNECTION_UUID=3fd2a33a-d81b-423f-ae99-e6baba742311 CONNECTION_DBUS_PATH=/org/freedesktop/NetworkManager/Connections/5 CONNECTION_ID=Random Connection -CONNECTION_FILENAME=/callouts/tests/dispatcher-connectivity-full +CONNECTION_FILENAME=/dispatcher/tests/dispatcher-connectivity-full DEVICE_IFACE=wlan0 DEVICE_IP_IFACE=wlan0 CONNECTIVITY_STATE=FULL diff --git a/callouts/tests/dispatcher-connectivity-unknown b/dispatcher/tests/dispatcher-connectivity-unknown index 9622d017d..4d797712a 100644 --- a/callouts/tests/dispatcher-connectivity-unknown +++ b/dispatcher/tests/dispatcher-connectivity-unknown @@ -17,6 +17,6 @@ PATH= CONNECTION_UUID=3fd2a33a-d81b-423f-ae99-e6baba742311 CONNECTION_DBUS_PATH=/org/freedesktop/NetworkManager/Connections/5 CONNECTION_ID=Random Connection -CONNECTION_FILENAME=/callouts/tests/dispatcher-connectivity-unknown +CONNECTION_FILENAME=/dispatcher/tests/dispatcher-connectivity-unknown DEVICE_IFACE=wlan0 DEVICE_IP_IFACE=wlan0 diff --git a/callouts/tests/dispatcher-down b/dispatcher/tests/dispatcher-down index f766595c1..e0e44a723 100644 --- a/callouts/tests/dispatcher-down +++ b/dispatcher/tests/dispatcher-down @@ -16,7 +16,7 @@ PATH= CONNECTION_UUID=3fd2a33a-d81b-423f-ae99-e6baba742311 CONNECTION_DBUS_PATH=/org/freedesktop/NetworkManager/Connections/5 CONNECTION_ID=Random Connection -CONNECTION_FILENAME=/callouts/tests/dispatcher-down +CONNECTION_FILENAME=/dispatcher/tests/dispatcher-down DEVICE_IFACE=wlan0 DEVICE_IP_IFACE=wlan0 diff --git a/callouts/tests/dispatcher-external b/dispatcher/tests/dispatcher-external index a8c129c9e..41f01d463 100644 --- a/callouts/tests/dispatcher-external +++ b/dispatcher/tests/dispatcher-external @@ -25,7 +25,7 @@ gateway=0.0.0.0 PATH= CONNECTION_UUID=92bbc2fb-7304-46be-8ebb-6093dbe19a6a CONNECTION_DBUS_PATH=/org/freedesktop/NetworkManager/Connections/5 -CONNECTION_FILENAME=/callouts/tests/dispatcher-external +CONNECTION_FILENAME=/dispatcher/tests/dispatcher-external CONNECTION_ID=virbr0 CONNECTION_EXTERNAL=1 DEVICE_IFACE=virbr0 diff --git a/callouts/tests/dispatcher-up b/dispatcher/tests/dispatcher-up index 44eb9f7c2..ad7e87d3b 100644 --- a/callouts/tests/dispatcher-up +++ b/dispatcher/tests/dispatcher-up @@ -39,7 +39,7 @@ PATH= CONNECTION_UUID=3fd2a33a-d81b-423f-ae99-e6baba742311 CONNECTION_DBUS_PATH=/org/freedesktop/NetworkManager/Connections/5 CONNECTION_ID=Random Connection -CONNECTION_FILENAME=/callouts/tests/dispatcher-up +CONNECTION_FILENAME=/dispatcher/tests/dispatcher-up DEVICE_IFACE=wlan0 DEVICE_IP_IFACE=wlan0 PROXY_PAC_URL=http://networkmanager.com/proxy.pac diff --git a/callouts/tests/dispatcher-vpn-down b/dispatcher/tests/dispatcher-vpn-down index 1de7e233a..c921f105d 100644 --- a/callouts/tests/dispatcher-vpn-down +++ b/dispatcher/tests/dispatcher-vpn-down @@ -39,7 +39,7 @@ PATH= CONNECTION_UUID=355653c0-34d3-4777-ad25-f9a498b7ef8e CONNECTION_DBUS_PATH=/org/freedesktop/NetworkManager/Connections/5 CONNECTION_ID=Random Connection -CONNECTION_FILENAME=/callouts/tests/dispatcher-vpn-down +CONNECTION_FILENAME=/dispatcher/tests/dispatcher-vpn-down DEVICE_IFACE=wlan0 DEVICE_IP_IFACE=tun0 PROXY_PAC_URL=http://networkmanager.com/proxy.pac diff --git a/callouts/tests/dispatcher-vpn-up b/dispatcher/tests/dispatcher-vpn-up index d16e58234..cbafc0313 100644 --- a/callouts/tests/dispatcher-vpn-up +++ b/dispatcher/tests/dispatcher-vpn-up @@ -39,7 +39,7 @@ PATH= CONNECTION_UUID=355653c0-34d3-4777-ad25-f9a498b7ef8e CONNECTION_DBUS_PATH=/org/freedesktop/NetworkManager/Connections/5 CONNECTION_ID=Random Connection -CONNECTION_FILENAME=/callouts/tests/dispatcher-vpn-up +CONNECTION_FILENAME=/dispatcher/tests/dispatcher-vpn-up DEVICE_IFACE=wlan0 DEVICE_IP_IFACE=tun0 PROXY_PAC_URL=http://networkmanager.com/proxy.pac diff --git a/callouts/tests/test-dispatcher-envp.c b/dispatcher/tests/test-dispatcher-envp.c index 383beaab7..6dd4db07b 100644 --- a/callouts/tests/test-dispatcher-envp.c +++ b/dispatcher/tests/test-dispatcher-envp.c @@ -87,7 +87,7 @@ parse_main (GKeyFile *kf, g_variant_new_object_path ("/org/freedesktop/NetworkManager/Connections/5")); /* Strip out the non-fixed portion of the filename */ - filename = strstr (filename, "/callouts"); + filename = strstr (filename, "/dispatcher"); g_variant_builder_add (&props, "{sv}", "filename", g_variant_new_string (filename)); diff --git a/libnm-core/nm-setting-connection.c b/libnm-core/nm-setting-connection.c index abd8b19e3..ed1c164a5 100644 --- a/libnm-core/nm-setting-connection.c +++ b/libnm-core/nm-setting-connection.c @@ -647,9 +647,6 @@ nm_setting_connection_get_autoconnect_slaves (NMSettingConnection *setting) return NM_SETTING_CONNECTION_GET_PRIVATE (setting)->autoconnect_slaves; } -NM_BACKPORT_SYMBOL (libnm_1_0_4, NMSettingConnectionAutoconnectSlaves, nm_setting_connection_get_autoconnect_slaves, (NMSettingConnection *setting), (setting)); - -NM_BACKPORT_SYMBOL (libnm_1_0_4, GType, nm_setting_connection_autoconnect_slaves_get_type, (void), ()); /** * nm_setting_connection_get_num_secondaries: @@ -804,10 +801,6 @@ nm_setting_connection_get_metered (NMSettingConnection *setting) return NM_SETTING_CONNECTION_GET_PRIVATE (setting)->metered; } -NM_BACKPORT_SYMBOL (libnm_1_0_6, NMMetered, nm_setting_connection_get_metered, (NMSettingConnection *setting), (setting)); - -NM_BACKPORT_SYMBOL (libnm_1_0_6, GType, nm_metered_get_type, (void), ()); - /** * nm_setting_connection_get_lldp: * @setting: the #NMSettingConnection diff --git a/libnm-core/nm-setting-ip-config.c b/libnm-core/nm-setting-ip-config.c index 55ad7bb0c..ca1f9480c 100644 --- a/libnm-core/nm-setting-ip-config.c +++ b/libnm-core/nm-setting-ip-config.c @@ -1773,7 +1773,6 @@ nm_setting_ip_config_get_dns_priority (NMSettingIPConfig *setting) return NM_SETTING_IP_CONFIG_GET_PRIVATE (setting)->dns_priority; } -NM_BACKPORT_SYMBOL (libnm_1_2_4, gint, nm_setting_ip_config_get_dns_priority, (NMSettingIPConfig *setting), (setting)); /** * nm_setting_ip_config_get_num_addresses: diff --git a/libnm-core/nm-setting-wired.c b/libnm-core/nm-setting-wired.c index d2eea0541..61df4bdfa 100644 --- a/libnm-core/nm-setting-wired.c +++ b/libnm-core/nm-setting-wired.c @@ -594,8 +594,6 @@ nm_setting_wired_get_wake_on_lan (NMSettingWired *setting) return NM_SETTING_WIRED_GET_PRIVATE (setting)->wol; } -NM_BACKPORT_SYMBOL (libnm_1_0_6, NMSettingWiredWakeOnLan, nm_setting_wired_get_wake_on_lan, - (NMSettingWired *setting), (setting)); /** * nm_setting_wired_get_wake_on_lan_password: @@ -615,10 +613,6 @@ nm_setting_wired_get_wake_on_lan_password (NMSettingWired *setting) return NM_SETTING_WIRED_GET_PRIVATE (setting)->wol_password; } -NM_BACKPORT_SYMBOL (libnm_1_0_6, const char *, nm_setting_wired_get_wake_on_lan_password, - (NMSettingWired *setting), (setting)); - -NM_BACKPORT_SYMBOL (libnm_1_0_6, GType, nm_setting_wired_wake_on_lan_get_type, (void), ()); static gboolean verify (NMSetting *setting, NMConnection *connection, GError **error) diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c index f94b217a2..d963323e2 100644 --- a/libnm-core/nm-utils.c +++ b/libnm-core/nm-utils.c @@ -2904,7 +2904,6 @@ nm_utils_wifi_2ghz_freqs (void) { return _wifi_freqs (TRUE); } -NM_BACKPORT_SYMBOL (libnm_1_0_6, const guint *, nm_utils_wifi_2ghz_freqs, (void), ()); /** * nm_utils_wifi_5ghz_freqs: @@ -2920,7 +2919,6 @@ nm_utils_wifi_5ghz_freqs (void) { return _wifi_freqs (FALSE); } -NM_BACKPORT_SYMBOL (libnm_1_0_6, const guint *, nm_utils_wifi_5ghz_freqs, (void), ()); /** * nm_utils_wifi_strength_bars: @@ -4277,8 +4275,6 @@ char *nm_utils_enum_to_str (GType type, int value) g_type_class_unref (class); return ret; } -NM_BACKPORT_SYMBOL (libnm_1_0_6, char *, nm_utils_enum_to_str, - (GType type, int value), (type, value)); /** * nm_utils_enum_from_str: @@ -4350,9 +4346,6 @@ gboolean nm_utils_enum_from_str (GType type, const char *str, g_type_class_unref (class); return ret; } -NM_BACKPORT_SYMBOL (libnm_1_0_6, gboolean, nm_utils_enum_from_str, - (GType type, const char *str, int *out_value, char **err_token), - (type, str, out_value, err_token)); /** * nm_utils_enum_get_values: diff --git a/libnm-glib/Makefile.am b/libnm-glib/Makefile.am index 6cb3e4b82..71fb7341a 100644 --- a/libnm-glib/Makefile.am +++ b/libnm-glib/Makefile.am @@ -222,10 +222,5 @@ typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) CLEANFILES += $(gir_DATA) $(typelib_DATA) endif -if ENABLE_TESTS - check-local: $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-glib.so $(SYMBOL_VIS_FILE) - -endif - diff --git a/libnm-util/Makefile.am b/libnm-util/Makefile.am index 466e475f2..2991aa93d 100644 --- a/libnm-util/Makefile.am +++ b/libnm-util/Makefile.am @@ -196,10 +196,5 @@ CLEANFILES = $(gir_DATA) $(typelib_DATA) endif -if ENABLE_TESTS - check-local: $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-util.so $(SYMBOL_VIS_FILE) - -endif - diff --git a/libnm/nm-client.c b/libnm/nm-client.c index 17dc41c6d..e655dbd43 100644 --- a/libnm/nm-client.c +++ b/libnm/nm-client.c @@ -2419,3 +2419,50 @@ nm_client_async_initable_iface_init (GAsyncInitableIface *iface) iface->init_async = init_async; iface->init_finish = init_finish; } + +/***************************************************************************** + * Backported symbols. Usually, new API is only added in new major versions + * of NetworkManager (that is, on "master" branch). Sometimes however, we might + * have to backport some API to an older stable branch. In that case, we backport + * the symbols with a different version corresponding to the minor API. + * + * To allow upgrading from such a extended minor-release, "master" contains these + * backported symbols too. + * + * For example, 1.2.0 added nm_setting_connection_autoconnect_slaves_get_type. + * This was backported for 1.0.4 as nm_setting_connection_autoconnect_slaves_get_type@libnm_1_0_4 + * To allow an application that was linked against 1.0.4 to seamlessly upgrade to + * a newer major version, the same symbols is also exposed on "master". Note, that + * a user can only seamlessly upgrade to a newer major version, that is released + * *after* 1.0.4 is out. In this example, 1.2.0 was released after 1.4.0, and thus + * a 1.0.4 user can upgrade to 1.2.0 ABI. + *****************************************************************************/ + +NM_BACKPORT_SYMBOL (libnm_1_0_4, NMSettingConnectionAutoconnectSlaves, nm_setting_connection_get_autoconnect_slaves, (NMSettingConnection *setting), (setting)); + +NM_BACKPORT_SYMBOL (libnm_1_0_4, GType, nm_setting_connection_autoconnect_slaves_get_type, (void), ()); + +NM_BACKPORT_SYMBOL (libnm_1_0_6, NMMetered, nm_setting_connection_get_metered, (NMSettingConnection *setting), (setting)); + +NM_BACKPORT_SYMBOL (libnm_1_0_6, GType, nm_metered_get_type, (void), ()); + +NM_BACKPORT_SYMBOL (libnm_1_0_6, NMSettingWiredWakeOnLan, nm_setting_wired_get_wake_on_lan, + (NMSettingWired *setting), (setting)); + +NM_BACKPORT_SYMBOL (libnm_1_0_6, const char *, nm_setting_wired_get_wake_on_lan_password, + (NMSettingWired *setting), (setting)); + +NM_BACKPORT_SYMBOL (libnm_1_0_6, GType, nm_setting_wired_wake_on_lan_get_type, (void), ()); + +NM_BACKPORT_SYMBOL (libnm_1_0_6, const guint *, nm_utils_wifi_2ghz_freqs, (void), ()); + +NM_BACKPORT_SYMBOL (libnm_1_0_6, const guint *, nm_utils_wifi_5ghz_freqs, (void), ()); + +NM_BACKPORT_SYMBOL (libnm_1_0_6, char *, nm_utils_enum_to_str, + (GType type, int value), (type, value)); + +NM_BACKPORT_SYMBOL (libnm_1_0_6, gboolean, nm_utils_enum_from_str, + (GType type, const char *str, int *out_value, char **err_token), + (type, str, out_value, err_token)); + +NM_BACKPORT_SYMBOL (libnm_1_2_4, gint, nm_setting_ip_config_get_dns_priority, (NMSettingIPConfig *setting), (setting)); diff --git a/linker-script-binary.ver b/linker-script-binary.ver new file mode 100644 index 000000000..a2780c090 --- /dev/null +++ b/linker-script-binary.ver @@ -0,0 +1,6 @@ +{ +global: + _IO_stdin_used; +local: + *; +}; diff --git a/src/devices/adsl/exports.ver b/linker-script-devices.ver index 24cd848ce..24cd848ce 100644 --- a/src/devices/adsl/exports.ver +++ b/linker-script-devices.ver diff --git a/linker-script-settings.ver b/linker-script-settings.ver new file mode 100644 index 000000000..fef67e877 --- /dev/null +++ b/linker-script-settings.ver @@ -0,0 +1,6 @@ +{ +global: + nm_settings_plugin_factory; +local: + *; +}; diff --git a/policy/Makefile.am b/policy/Makefile.am deleted file mode 100644 index 37c4344aa..000000000 --- a/policy/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -polkit_policydir = $(datadir)/polkit-1/actions - -dist_polkit_policy_in_in_files = \ - org.freedesktop.NetworkManager.policy.in.in - -polkit_policy_DATA = $(dist_polkit_policy_in_in_files:.policy.in.in=.policy) - -@INTLTOOL_POLICY_RULE@ - -# polkit >= 0.92 doesn't have an updated polkit-policy-file-validate -#check: -# @for f in $(dist_polkit_policy_DATA); do \ -# echo -n "Validate PolicyKit policy in $$f : "; \ -# $(POLKIT_POLICY_FILE_VALIDATE) $(srcdir)/$$f ; \ -# ret=$$?; \ -# if [ "$$ret" = "0" ]; \ -# then \ -# echo ok; \ -# else \ -# echo failed; \ -# exit 1; \ -# fi; \ -# done; - -clean-local : - rm -f *~ - -DISTCLEANFILES = $(polkit_policy_DATA) diff --git a/shared/Makefile.am b/shared/Makefile.am deleted file mode 100644 index adf101bf2..000000000 --- a/shared/Makefile.am +++ /dev/null @@ -1,21 +0,0 @@ -EXTRA_DIST = \ - nm-utils/gsystem-local-alloc.h \ - nm-utils/nm-glib.h \ - nm-utils/nm-macros-internal.h \ - nm-utils/nm-shared-utils.c \ - nm-utils/nm-shared-utils.h \ - nm-utils/nm-test-utils.h \ - nm-utils/nm-vpn-editor-plugin-call.h \ - nm-utils/nm-vpn-plugin-macros.h \ - nm-utils/nm-vpn-plugin-utils.c \ - nm-utils/nm-vpn-plugin-utils.h \ - nm-common-macros.h \ - nm-dbus-compat.h \ - nm-default.h \ - nm-dispatcher-api.h \ - nm-test-libnm-utils.h \ - nm-test-utils-impl.c \ - nm-version-macros.h.in \ - $(NULL) - -CLEANFILES=nm-version.h diff --git a/src/Makefile.am b/src/Makefile.am index e1a051034..aa58ed001 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -595,7 +595,7 @@ nm_iface_helper_LDADD = \ $(LIBM) nm_iface_helper_LDFLAGS = \ - -rdynamic + -Wl,--version-script="$(top_srcdir)/linker-script-binary.ver" ############################################################################### diff --git a/src/NetworkManager.ver b/src/NetworkManager.ver index 0e092f44a..db97295ef 100644 --- a/src/NetworkManager.ver +++ b/src/NetworkManager.ver @@ -1,15 +1,559 @@ +# this file is generated by ./tools/create-exports-NetworkManager.sh { global: - nm_*; - nmp_*; - _nm*; - NM*; - _NM*; + NM_ASSERT_VALID_PATH_COMPONENT; + _nm_dbus_error_has_name; + _nm_dbus_proxy_call_finish; + _nm_dbus_signal_connect_data; + _nm_device_factory_no_default_links; + _nm_exported_object_clear_and_unexport; + _nm_log_impl; + _nm_logging_enabled_state; + _nm_platform_error_to_string; + _nm_singleton_instance_register_destruction; + _nm_utils_ascii_str_to_int64; + _nm_utils_dns_option_find_idx; + _nm_utils_hash_values_to_slist; + _nm_utils_strsplit_set; + _nm_utils_uuid_generate_from_strings; + nm_act_request_cancel_secrets; + nm_act_request_clear_secrets; + nm_act_request_get_applied_connection; + nm_act_request_get_secrets; + nm_act_request_get_settings_connection; + nm_act_request_get_type; + nm_active_connection_get_specific_object; + nm_active_connection_get_type; + nm_active_connection_set_specific_object; + nm_config_data_get_connection_default; + nm_config_data_get_device_config; + nm_config_data_get_device_config_boolean; + nm_config_data_get_value_boolean; + nm_config_get; + nm_config_get_data; + nm_config_get_data_orig; + nm_config_get_dhcp_client; + nm_config_get_monitor_connection_files; + nm_connection_add_setting; + nm_connection_compare; + nm_connection_error_quark; + nm_connection_for_each_setting_value; + nm_connection_get_id; + nm_connection_get_interface_name; + nm_connection_get_path; + nm_connection_get_setting_802_1x; + nm_connection_get_setting_adsl; + nm_connection_get_setting_bluetooth; + nm_connection_get_setting_bond; + nm_connection_get_setting_bridge; + nm_connection_get_setting_bridge_port; + nm_connection_get_setting_cdma; + nm_connection_get_setting_connection; + nm_connection_get_setting_dcb; + nm_connection_get_setting_gsm; + nm_connection_get_setting_infiniband; + nm_connection_get_setting_ip4_config; + nm_connection_get_setting_ip6_config; + nm_connection_get_setting_olpc_mesh; + nm_connection_get_setting_ppp; + nm_connection_get_setting_pppoe; + nm_connection_get_setting_proxy; + nm_connection_get_setting_serial; + nm_connection_get_setting_team; + nm_connection_get_setting_team_port; + nm_connection_get_setting_vlan; + nm_connection_get_setting_wired; + nm_connection_get_setting_wireless; + nm_connection_get_setting_wireless_security; + nm_connection_get_type; + nm_connection_get_uuid; + nm_connection_is_type; + nm_connection_need_secrets; + nm_connection_normalize; + nm_connection_set_path; + nm_connection_verify; + nm_device_activate_ip4_state_done; + nm_device_activate_ip4_state_in_conf; + nm_device_activate_ip6_state_done; + nm_device_activate_ip6_state_in_conf; + nm_device_activate_schedule_ip4_config_result; + nm_device_activate_schedule_ip4_config_timeout; + nm_device_activate_schedule_ip6_config_result; + nm_device_activate_schedule_ip6_config_timeout; + nm_device_activate_schedule_stage1_device_prepare; + nm_device_activate_schedule_stage2_device_config; + nm_device_activate_schedule_stage3_ip_config_start; + nm_device_add_pending_action; + nm_device_bring_up; + nm_device_emit_recheck_auto_activate; + nm_device_error_quark; + nm_device_factory_emit_component_added; + nm_device_factory_get_type; + nm_device_get_act_request; + nm_device_get_applied_connection; + nm_device_get_applied_setting; + nm_device_get_firmware_missing; + nm_device_get_hw_address; + nm_device_get_iface; + nm_device_get_ifindex; + nm_device_get_initial_hw_address; + nm_device_get_ip_iface; + nm_device_get_ip_ifindex; + nm_device_get_permanent_hw_address; + nm_device_get_settings; + nm_device_get_settings_connection; + nm_device_get_state; + nm_device_get_type; + nm_device_has_unmodified_applied_connection; + nm_device_hw_addr_reset; + nm_device_hw_addr_set; + nm_device_hw_addr_set_cloned; + nm_device_ip_method_failed; + nm_device_ipv6_sysctl_set; + nm_device_is_activating; + nm_device_master_check_slave_physical_port; + nm_device_queue_recheck_assume; + nm_device_queue_recheck_available; + nm_device_queue_state; + nm_device_recheck_available_connections; + nm_device_remove_pending_action; + nm_device_set_autoconnect; + nm_device_set_carrier; + nm_device_set_dhcp_anycast_address; + nm_device_set_dhcp_timeout; + nm_device_set_firmware_missing; + nm_device_set_ip_iface; + nm_device_set_wwan_ip4_config; + nm_device_set_wwan_ip6_config; + nm_device_state_changed; + nm_device_take_down; + nm_device_uses_assumed_connection; + nm_ethernet_address_is_valid; + nm_exported_object_class_add_interface; + nm_exported_object_export; + nm_exported_object_get_path; + nm_exported_object_get_type; + nm_exported_object_is_exported; + nm_exported_object_skeleton_create; + nm_exported_object_skeleton_release; + nm_exported_object_skeletonify_method_name; + nm_exported_object_unexport; + nm_inotify_helper_add_watch; + nm_inotify_helper_get; + nm_inotify_helper_remove_watch; + nm_ip4_config_add_address; + nm_ip4_config_add_nameserver; + nm_ip4_config_add_route; + nm_ip4_config_get_address; + nm_ip4_config_get_nameserver; + nm_ip4_config_get_num_nameservers; + nm_ip4_config_new; + nm_ip4_config_reset_nameservers; + nm_ip4_config_set_gateway; + nm_ip4_config_set_mtu; + nm_ip6_config_add_address; + nm_ip6_config_add_nameserver; + nm_ip6_config_get_address; + nm_ip6_config_get_num_addresses; + nm_ip6_config_new; + nm_ip6_config_set_gateway; + nm_ip_address_get_address; + nm_ip_address_get_attribute; + nm_ip_address_get_prefix; + nm_ip_address_new; + nm_ip_address_set_attribute; + nm_ip_address_unref; + nm_ip_route_get_dest; + nm_ip_route_get_metric; + nm_ip_route_get_next_hop; + nm_ip_route_get_prefix; + nm_ip_route_new; + nm_ip_route_unref; + nm_manager_get; + nm_manager_get_devices; + nm_manager_set_capability; + nm_platform_address_flush; + nm_platform_get; + nm_platform_link_enslave; + nm_platform_link_get_by_ifname; + nm_platform_link_get_ifindex; + nm_platform_link_get_mtu; + nm_platform_link_get_type; + nm_platform_link_release; + nm_platform_link_set_down; + nm_platform_link_set_noarp; + nm_platform_link_set_up; + nm_platform_link_team_add; + nm_platform_mesh_get_channel; + nm_platform_mesh_set_channel; + nm_platform_mesh_set_ssid; + nm_platform_sysctl_get_int_checked; + nm_platform_wifi_find_frequency; + nm_platform_wifi_get_bssid; + nm_platform_wifi_get_capabilities; + nm_platform_wifi_get_frequency; + nm_platform_wifi_get_mode; + nm_platform_wifi_get_quality; + nm_platform_wifi_get_rate; + nm_platform_wifi_indicate_addressing_running; + nm_platform_wifi_set_mode; + nm_platform_wifi_set_powersave; + nm_ppp_manager_new; + nm_ppp_manager_start; + nm_ppp_manager_stop; + nm_ppp_manager_stop_finish; + nm_route_manager_get; + nm_route_manager_route_flush; + nm_setting_802_1x_add_eap_method; + nm_setting_802_1x_get_altsubject_match; + nm_setting_802_1x_get_anonymous_identity; + nm_setting_802_1x_get_ca_cert_blob; + nm_setting_802_1x_get_ca_cert_path; + nm_setting_802_1x_get_ca_cert_scheme; + nm_setting_802_1x_get_client_cert_blob; + nm_setting_802_1x_get_client_cert_path; + nm_setting_802_1x_get_client_cert_scheme; + nm_setting_802_1x_get_domain_suffix_match; + nm_setting_802_1x_get_eap_method; + nm_setting_802_1x_get_identity; + nm_setting_802_1x_get_num_altsubject_matches; + nm_setting_802_1x_get_num_eap_methods; + nm_setting_802_1x_get_num_phase2_altsubject_matches; + nm_setting_802_1x_get_pac_file; + nm_setting_802_1x_get_password; + nm_setting_802_1x_get_password_flags; + nm_setting_802_1x_get_phase1_fast_provisioning; + nm_setting_802_1x_get_phase1_peaplabel; + nm_setting_802_1x_get_phase1_peapver; + nm_setting_802_1x_get_phase2_altsubject_match; + nm_setting_802_1x_get_phase2_auth; + nm_setting_802_1x_get_phase2_autheap; + nm_setting_802_1x_get_phase2_ca_cert_blob; + nm_setting_802_1x_get_phase2_ca_cert_path; + nm_setting_802_1x_get_phase2_ca_cert_scheme; + nm_setting_802_1x_get_phase2_client_cert_blob; + nm_setting_802_1x_get_phase2_client_cert_path; + nm_setting_802_1x_get_phase2_client_cert_scheme; + nm_setting_802_1x_get_phase2_domain_suffix_match; + nm_setting_802_1x_get_phase2_private_key_blob; + nm_setting_802_1x_get_phase2_private_key_format; + nm_setting_802_1x_get_phase2_private_key_password; + nm_setting_802_1x_get_phase2_private_key_password_flags; + nm_setting_802_1x_get_phase2_private_key_path; + nm_setting_802_1x_get_phase2_private_key_scheme; + nm_setting_802_1x_get_phase2_subject_match; + nm_setting_802_1x_get_private_key_blob; + nm_setting_802_1x_get_private_key_format; + nm_setting_802_1x_get_private_key_password; + nm_setting_802_1x_get_private_key_password_flags; + nm_setting_802_1x_get_private_key_path; + nm_setting_802_1x_get_private_key_scheme; + nm_setting_802_1x_get_subject_match; + nm_setting_802_1x_new; + nm_setting_802_1x_set_ca_cert; + nm_setting_802_1x_set_client_cert; + nm_setting_802_1x_set_phase2_ca_cert; + nm_setting_802_1x_set_phase2_client_cert; + nm_setting_802_1x_set_phase2_private_key; + nm_setting_802_1x_set_private_key; + nm_setting_adsl_get_encapsulation; + nm_setting_adsl_get_protocol; + nm_setting_adsl_get_type; + nm_setting_adsl_get_username; + nm_setting_adsl_get_vci; + nm_setting_adsl_get_vpi; + nm_setting_bluetooth_get_bdaddr; + nm_setting_bluetooth_get_connection_type; + nm_setting_bluetooth_new; + nm_setting_bond_add_option; + nm_setting_bond_get_num_options; + nm_setting_bond_get_option; + nm_setting_bond_get_type; + nm_setting_bond_new; + nm_setting_bridge_get_ageing_time; + nm_setting_bridge_get_forward_delay; + nm_setting_bridge_get_hello_time; + nm_setting_bridge_get_mac_address; + nm_setting_bridge_get_max_age; + nm_setting_bridge_get_multicast_snooping; + nm_setting_bridge_get_priority; + nm_setting_bridge_get_stp; + nm_setting_bridge_get_type; + nm_setting_bridge_new; + nm_setting_bridge_port_get_hairpin_mode; + nm_setting_bridge_port_get_path_cost; + nm_setting_bridge_port_get_priority; + nm_setting_bridge_port_new; + nm_setting_cdma_get_number; + nm_setting_cdma_get_password; + nm_setting_cdma_get_username; + nm_setting_cdma_new; + nm_setting_connection_add_permission; + nm_setting_connection_add_secondary; + nm_setting_connection_get_autoconnect; + nm_setting_connection_get_autoconnect_priority; + nm_setting_connection_get_autoconnect_slaves; + nm_setting_connection_get_connection_type; + nm_setting_connection_get_gateway_ping_timeout; + nm_setting_connection_get_id; + nm_setting_connection_get_interface_name; + nm_setting_connection_get_lldp; + nm_setting_connection_get_master; + nm_setting_connection_get_metered; + nm_setting_connection_get_num_permissions; + nm_setting_connection_get_num_secondaries; + nm_setting_connection_get_permission; + nm_setting_connection_get_secondary; + nm_setting_connection_get_stable_id; + nm_setting_connection_get_type; + nm_setting_connection_get_uuid; + nm_setting_connection_get_zone; + nm_setting_connection_is_slave_type; + nm_setting_connection_new; + nm_setting_dcb_get_app_fcoe_flags; + nm_setting_dcb_get_app_fcoe_mode; + nm_setting_dcb_get_app_fcoe_priority; + nm_setting_dcb_get_app_fip_flags; + nm_setting_dcb_get_app_fip_priority; + nm_setting_dcb_get_app_iscsi_flags; + nm_setting_dcb_get_app_iscsi_priority; + nm_setting_dcb_get_priority_bandwidth; + nm_setting_dcb_get_priority_flow_control; + nm_setting_dcb_get_priority_flow_control_flags; + nm_setting_dcb_get_priority_group_bandwidth; + nm_setting_dcb_get_priority_group_flags; + nm_setting_dcb_get_priority_group_id; + nm_setting_dcb_get_priority_strict_bandwidth; + nm_setting_dcb_get_priority_traffic_class; + nm_setting_dcb_new; + nm_setting_dcb_set_priority_bandwidth; + nm_setting_dcb_set_priority_flow_control; + nm_setting_dcb_set_priority_group_bandwidth; + nm_setting_dcb_set_priority_group_id; + nm_setting_dcb_set_priority_strict_bandwidth; + nm_setting_dcb_set_priority_traffic_class; + nm_setting_generic_new; + nm_setting_get_secret_flags; + nm_setting_get_type; + nm_setting_gsm_get_apn; + nm_setting_gsm_get_device_id; + nm_setting_gsm_get_home_only; + nm_setting_gsm_get_network_id; + nm_setting_gsm_get_number; + nm_setting_gsm_get_password; + nm_setting_gsm_get_pin; + nm_setting_gsm_get_sim_id; + nm_setting_gsm_get_sim_operator_id; + nm_setting_gsm_get_username; + nm_setting_infiniband_get_mac_address; + nm_setting_infiniband_get_mtu; + nm_setting_infiniband_get_p_key; + nm_setting_infiniband_get_parent; + nm_setting_infiniband_get_transport_mode; + nm_setting_infiniband_get_type; + nm_setting_infiniband_new; + nm_setting_ip4_config_get_dhcp_client_id; + nm_setting_ip4_config_get_dhcp_fqdn; + nm_setting_ip4_config_get_type; + nm_setting_ip4_config_new; + nm_setting_ip6_config_addr_gen_mode_get_type; + nm_setting_ip6_config_get_addr_gen_mode; + nm_setting_ip6_config_get_ip6_privacy; + nm_setting_ip6_config_get_token; + nm_setting_ip6_config_get_type; + nm_setting_ip6_config_new; + nm_setting_ip_config_add_address; + nm_setting_ip_config_add_dns; + nm_setting_ip_config_add_dns_option; + nm_setting_ip_config_add_dns_search; + nm_setting_ip_config_add_route; + nm_setting_ip_config_clear_dns_options; + nm_setting_ip_config_get_address; + nm_setting_ip_config_get_dad_timeout; + nm_setting_ip_config_get_dhcp_hostname; + nm_setting_ip_config_get_dhcp_send_hostname; + nm_setting_ip_config_get_dhcp_timeout; + nm_setting_ip_config_get_dns; + nm_setting_ip_config_get_dns_option; + nm_setting_ip_config_get_dns_priority; + nm_setting_ip_config_get_dns_search; + nm_setting_ip_config_get_gateway; + nm_setting_ip_config_get_ignore_auto_dns; + nm_setting_ip_config_get_ignore_auto_routes; + nm_setting_ip_config_get_may_fail; + nm_setting_ip_config_get_method; + nm_setting_ip_config_get_never_default; + nm_setting_ip_config_get_num_addresses; + nm_setting_ip_config_get_num_dns; + nm_setting_ip_config_get_num_dns_options; + nm_setting_ip_config_get_num_dns_searches; + nm_setting_ip_config_get_num_routes; + nm_setting_ip_config_get_route; + nm_setting_ip_config_get_route_metric; + nm_setting_ip_config_get_type; + nm_setting_ip_config_has_dns_options; + nm_setting_olpc_mesh_get_channel; + nm_setting_olpc_mesh_get_dhcp_anycast_address; + nm_setting_olpc_mesh_get_ssid; + nm_setting_olpc_mesh_new; + nm_setting_ppp_get_noauth; + nm_setting_ppp_get_refuse_chap; + nm_setting_ppp_get_refuse_eap; + nm_setting_ppp_get_refuse_mschap; + nm_setting_ppp_get_refuse_mschapv2; + nm_setting_ppp_get_refuse_pap; + nm_setting_ppp_new; + nm_setting_pppoe_get_password; + nm_setting_pppoe_get_type; + nm_setting_pppoe_get_username; + nm_setting_pppoe_new; + nm_setting_proxy_get_browser_only; + nm_setting_proxy_get_method; + nm_setting_proxy_get_pac_script; + nm_setting_proxy_get_pac_url; + nm_setting_proxy_new; + nm_setting_team_get_config; + nm_setting_team_get_type; + nm_setting_team_new; + nm_setting_team_port_get_config; + nm_setting_team_port_new; + nm_setting_verify; + nm_setting_vlan_add_priority_str; + nm_setting_vlan_get_flags; + nm_setting_vlan_get_id; + nm_setting_vlan_get_parent; + nm_setting_vlan_get_type; + nm_setting_vlan_new; + nm_setting_wired_add_s390_option; + nm_setting_wired_get_cloned_mac_address; + nm_setting_wired_get_generate_mac_address_mask; + nm_setting_wired_get_mac_address; + nm_setting_wired_get_mac_address_blacklist; + nm_setting_wired_get_mtu; + nm_setting_wired_get_num_s390_options; + nm_setting_wired_get_s390_nettype; + nm_setting_wired_get_s390_option; + nm_setting_wired_get_s390_option_by_key; + nm_setting_wired_get_s390_subchannels; + nm_setting_wired_get_type; + nm_setting_wired_get_wake_on_lan; + nm_setting_wired_get_wake_on_lan_password; + nm_setting_wired_new; + nm_setting_wireless_ap_security_compatible; + nm_setting_wireless_get_band; + nm_setting_wireless_get_bssid; + nm_setting_wireless_get_channel; + nm_setting_wireless_get_cloned_mac_address; + nm_setting_wireless_get_generate_mac_address_mask; + nm_setting_wireless_get_hidden; + nm_setting_wireless_get_mac_address; + nm_setting_wireless_get_mac_address_blacklist; + nm_setting_wireless_get_mac_address_randomization; + nm_setting_wireless_get_mode; + nm_setting_wireless_get_mtu; + nm_setting_wireless_get_powersave; + nm_setting_wireless_get_ssid; + nm_setting_wireless_get_type; + nm_setting_wireless_new; + nm_setting_wireless_security_add_group; + nm_setting_wireless_security_add_pairwise; + nm_setting_wireless_security_add_proto; + nm_setting_wireless_security_get_auth_alg; + nm_setting_wireless_security_get_group; + nm_setting_wireless_security_get_key_mgmt; + nm_setting_wireless_security_get_leap_password; + nm_setting_wireless_security_get_leap_password_flags; + nm_setting_wireless_security_get_leap_username; + nm_setting_wireless_security_get_num_groups; + nm_setting_wireless_security_get_num_pairwise; + nm_setting_wireless_security_get_num_protos; + nm_setting_wireless_security_get_pairwise; + nm_setting_wireless_security_get_proto; + nm_setting_wireless_security_get_psk; + nm_setting_wireless_security_get_psk_flags; + nm_setting_wireless_security_get_type; + nm_setting_wireless_security_get_wep_key; + nm_setting_wireless_security_get_wep_key_flags; + nm_setting_wireless_security_get_wep_key_type; + nm_setting_wireless_security_get_wep_tx_keyidx; + nm_setting_wireless_security_new; + nm_setting_wireless_security_set_wep_key; + nm_settings_add_connection; + nm_settings_connection_add_seen_bssid; + nm_settings_connection_commit_changes; + nm_settings_connection_delete; + nm_settings_connection_get_filename; + nm_settings_connection_get_nm_generated; + nm_settings_connection_get_timestamp; + nm_settings_connection_get_type; + nm_settings_connection_has_seen_bssid; + nm_settings_connection_replace_settings; + nm_settings_connection_set_autoconnect_blocked_reason; + nm_settings_connection_set_filename; + nm_settings_connection_set_flags; + nm_settings_connection_set_ready; + nm_settings_connection_signal_remove; + nm_settings_error_quark; + nm_settings_get; + nm_settings_get_best_connections; + nm_settings_get_connections; + nm_settings_get_type; + nm_settings_plugin_get_type; + nm_simple_connection_new; + nm_supplicant_config_add_no_security; + nm_supplicant_config_add_setting_wireless; + nm_supplicant_config_add_setting_wireless_security; + nm_supplicant_config_new; + nm_supplicant_interface_disconnect; + nm_supplicant_interface_get_ap_support; + nm_supplicant_interface_get_current_bss; + nm_supplicant_interface_get_last_scan_time; + nm_supplicant_interface_get_max_scan_ssids; + nm_supplicant_interface_get_scanning; + nm_supplicant_interface_get_state; + nm_supplicant_interface_request_scan; + nm_supplicant_interface_set_config; + nm_supplicant_interface_state_to_string; + nm_supplicant_manager_create_interface; + nm_supplicant_manager_get; + nm_utils_bin2hexstr; + nm_utils_complete_generic; + nm_utils_enum_from_str; + nm_utils_enum_to_str; + nm_utils_escape_ssid; + nm_utils_file_set_contents; + nm_utils_find_helper; + nm_utils_g_value_set_object_path; + nm_utils_get_ip_config_method; + nm_utils_get_monotonic_timestamp_s; + nm_utils_hexstr2bin; + nm_utils_hw_addr_gen_random_eth; + nm_utils_hwaddr_aton; + nm_utils_hwaddr_matches; + nm_utils_hwaddr_ntoa; + nm_utils_hwaddr_valid; + nm_utils_iface_valid_name; + nm_utils_inet4_ntop; + nm_utils_ip4_get_default_prefix; + nm_utils_ip4_netmask_to_prefix; + nm_utils_ip4_prefix_to_netmask; + nm_utils_ipaddr_valid; + nm_utils_is_empty_ssid; + nm_utils_is_json_object; + nm_utils_kill_child_async; + nm_utils_monotonic_timestamp_as_boottime; + nm_utils_rsa_key_encrypt; + nm_utils_same_ssid; + nm_utils_setpgid; + nm_utils_ssid_to_utf8; + nm_utils_strbuf_append; + nm_utils_strbuf_append_str; + nm_utils_uuid_generate; + nm_utils_uuid_generate_from_string; + nm_utils_wep_key_valid; + nm_utils_wifi_channel_to_freq; + nm_utils_wifi_freq_to_channel; - /* The _IO_stdin_used symbol is used by the GNU libc to determine - which version of the I/O function should be used. Not - exporting it means that the "old" version is used, causing - crashes or other issues on some architectures. */ _IO_stdin_used; local: *; diff --git a/src/devices/adsl/Makefile.am b/src/devices/adsl/Makefile.am index 1dbd5a3b4..573f19a8c 100644 --- a/src/devices/adsl/Makefile.am +++ b/src/devices/adsl/Makefile.am @@ -20,8 +20,6 @@ AM_CPPFLAGS = \ pkglib_LTLIBRARIES = libnm-device-plugin-adsl.la -SYMBOL_VIS_FILE=$(srcdir)/exports.ver - libnm_device_plugin_adsl_la_SOURCES = \ nm-atm-manager.c \ nm-device-adsl.c \ @@ -29,19 +27,12 @@ libnm_device_plugin_adsl_la_SOURCES = \ libnm_device_plugin_adsl_la_LDFLAGS = \ -module -avoid-version \ - -Wl,--version-script=$(SYMBOL_VIS_FILE) + -Wl,--version-script="$(top_srcdir)/linker-script-devices.ver" libnm_device_plugin_adsl_la_LIBADD = \ $(top_builddir)/introspection/libnmdbus.la \ $(GUDEV_LIBS) -EXTRA_DIST = $(SYMBOL_VIS_FILE) - -if ENABLE_TESTS - check-local: - $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-adsl.so $(SYMBOL_VIS_FILE) + $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-adsl.so "$(top_srcdir)/linker-script-devices.ver" $(call check_so_symbols,$(builddir)/.libs/libnm-device-plugin-adsl.so) - -endif - diff --git a/src/devices/bluetooth/Makefile.am b/src/devices/bluetooth/Makefile.am index 951807aa4..79418558f 100644 --- a/src/devices/bluetooth/Makefile.am +++ b/src/devices/bluetooth/Makefile.am @@ -29,8 +29,6 @@ BUILT_SOURCES = $(GLIB_GENERATED) pkglib_LTLIBRARIES = libnm-device-plugin-bluetooth.la -SYMBOL_VIS_FILE=$(srcdir)/exports.ver - libnm_device_plugin_bluetooth_la_SOURCES = \ nm-bluez-manager.c \ nm-bluez-common.h \ @@ -52,7 +50,7 @@ libnm_device_plugin_bluetooth_la_SOURCES = \ libnm_device_plugin_bluetooth_la_LDFLAGS = \ -module -avoid-version \ - -Wl,--version-script=$(SYMBOL_VIS_FILE) + -Wl,--version-script="$(top_srcdir)/linker-script-devices.ver" libnm_device_plugin_bluetooth_la_LIBADD = \ $(top_builddir)/introspection/libnmdbus.la \ @@ -71,13 +69,7 @@ libnm_device_plugin_bluetooth_la_LIBADD += $(BLUEZ5_LIBS) endif CLEANFILES = $(BUILT_SOURCES) -EXTRA_DIST = $(SYMBOL_VIS_FILE) - -if ENABLE_TESTS check-local: - $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-bluetooth.so $(SYMBOL_VIS_FILE) + $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-bluetooth.so "$(top_srcdir)/linker-script-devices.ver" $(call check_so_symbols,$(builddir)/.libs/libnm-device-plugin-bluetooth.so) - -endif - diff --git a/src/devices/bluetooth/exports.ver b/src/devices/bluetooth/exports.ver deleted file mode 100644 index 24cd848ce..000000000 --- a/src/devices/bluetooth/exports.ver +++ /dev/null @@ -1,6 +0,0 @@ -{ -global: - nm_device_factory_create; -local: - *; -}; diff --git a/src/devices/team/Makefile.am b/src/devices/team/Makefile.am index da9d5b2e7..2810c494c 100644 --- a/src/devices/team/Makefile.am +++ b/src/devices/team/Makefile.am @@ -25,8 +25,6 @@ endif pkglib_LTLIBRARIES = libnm-device-plugin-team.la -SYMBOL_VIS_FILE=$(srcdir)/exports.ver - libnm_device_plugin_team_la_SOURCES = \ nm-team-factory.c \ nm-device-team.c \ @@ -34,7 +32,7 @@ libnm_device_plugin_team_la_SOURCES = \ libnm_device_plugin_team_la_LDFLAGS = \ -module -avoid-version \ - -Wl,--version-script=$(SYMBOL_VIS_FILE) + -Wl,--version-script="$(top_srcdir)/linker-script-devices.ver" libnm_device_plugin_team_la_LIBADD = \ $(top_builddir)/introspection/libnmdbus.la \ @@ -45,12 +43,6 @@ if WITH_TEAMDCTL libnm_device_plugin_team_la_LIBADD += $(LIBTEAMDCTL_LIBS) endif -EXTRA_DIST = $(SYMBOL_VIS_FILE) - -if ENABLE_TESTS - check-local: - $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-team.so $(SYMBOL_VIS_FILE) + $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-team.so "$(top_srcdir)/linker-script-devices.ver" $(call check_so_symbols,$(builddir)/.libs/libnm-device-plugin-team.so) - -endif diff --git a/src/devices/team/exports.ver b/src/devices/team/exports.ver deleted file mode 100644 index 24cd848ce..000000000 --- a/src/devices/team/exports.ver +++ /dev/null @@ -1,6 +0,0 @@ -{ -global: - nm_device_factory_create; -local: - *; -}; diff --git a/src/devices/wifi/Makefile.am b/src/devices/wifi/Makefile.am index 121a874f2..45c0ef739 100644 --- a/src/devices/wifi/Makefile.am +++ b/src/devices/wifi/Makefile.am @@ -1,10 +1,10 @@ include $(GLIB_MAKEFILE) +include $(top_srcdir)/nm.mk + @GNOME_CODE_COVERAGE_RULES@ -if ENABLE_TESTS SUBDIRS=. tests -endif AM_CPPFLAGS = \ -I${top_srcdir}/src \ @@ -35,24 +35,15 @@ libnm_device_plugin_wifi_la_SOURCES = \ nm-device-olpc-mesh.c \ nm-device-olpc-mesh.h -SYMBOL_VIS_FILE=$(srcdir)/exports.ver - libnm_device_plugin_wifi_la_LDFLAGS = \ -module -avoid-version \ - -Wl,--version-script=$(SYMBOL_VIS_FILE) + -Wl,--version-script="$(top_srcdir)/linker-script-devices.ver" libnm_device_plugin_wifi_la_LIBADD = \ $(top_builddir)/introspection/libnmdbus.la \ $(GLIB_LIBS) \ $(GUDEV_LIBS) -EXTRA_DIST = $(SYMBOL_VIS_FILE) - -if ENABLE_TESTS - check-local: - $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-wifi.so $(SYMBOL_VIS_FILE) + $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-wifi.so "$(top_srcdir)/linker-script-devices.ver" $(call check_so_symbols,$(builddir)/.libs/libnm-device-plugin-wifi.so) - -endif - diff --git a/src/devices/wifi/exports.ver b/src/devices/wifi/exports.ver deleted file mode 100644 index 24cd848ce..000000000 --- a/src/devices/wifi/exports.ver +++ /dev/null @@ -1,6 +0,0 @@ -{ -global: - nm_device_factory_create; -local: - *; -}; diff --git a/src/devices/wifi/tests/Makefile.am b/src/devices/wifi/tests/Makefile.am index 4ad66261b..1f0171d0d 100644 --- a/src/devices/wifi/tests/Makefile.am +++ b/src/devices/wifi/tests/Makefile.am @@ -1,3 +1,5 @@ +if ENABLE_TESTS + AM_CPPFLAGS = \ -I$(top_builddir)/introspection \ -I$(top_srcdir)/shared \ @@ -26,3 +28,4 @@ test_general_LDADD = $(top_builddir)/src/libNetworkManager.la @VALGRIND_RULES@ TESTS = test-general +endif diff --git a/src/devices/wwan/Makefile.am b/src/devices/wwan/Makefile.am index 7f7e6e8b4..8efd9a27d 100644 --- a/src/devices/wwan/Makefile.am +++ b/src/devices/wwan/Makefile.am @@ -51,11 +51,9 @@ libnm_wwan_la_SOURCES += \ $(NULL) endif -WWAN_SYMBOL_VIS_FILE=$(srcdir)/wwan-exports.ver - libnm_wwan_la_LDFLAGS = \ -avoid-version \ - -Wl,--version-script=$(WWAN_SYMBOL_VIS_FILE) + -Wl,--version-script="$(srcdir)/libnm-wwan.ver" libnm_wwan_la_LIBADD = \ $(top_builddir)/introspection/libnmdbus.la \ $(GLIB_LIBS) \ @@ -64,8 +62,6 @@ libnm_wwan_la_LIBADD = \ ########################################################### -SYMBOL_VIS_FILE=$(srcdir)/exports.ver - libnm_device_plugin_wwan_la_SOURCES = \ nm-wwan-factory.c \ nm-device-modem.c \ @@ -73,7 +69,7 @@ libnm_device_plugin_wwan_la_SOURCES = \ libnm_device_plugin_wwan_la_LDFLAGS = \ -module -avoid-version \ - -Wl,--version-script=$(SYMBOL_VIS_FILE) + -Wl,--version-script="$(top_srcdir)/linker-script-devices.ver" libnm_device_plugin_wwan_la_LIBADD = \ $(top_builddir)/introspection/libnmdbus.la \ @@ -83,16 +79,12 @@ libnm_device_plugin_wwan_la_LIBADD = \ ########################################################### CLEANFILES = $(BUILT_SOURCES) -EXTRA_DIST = $(SYMBOL_VIS_FILE) $(WWAN_SYMBOL_VIS_FILE) -if ENABLE_TESTS +EXTRA_DIST = \ + libnm-wwan.ver check-local: - $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-wwan.so $(SYMBOL_VIS_FILE) + $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-wwan.so "$(top_srcdir)/linker-script-devices.ver" $(call check_so_symbols,$(builddir)/.libs/libnm-device-plugin-wwan.so) - - $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-wwan.so $(WWAN_SYMBOL_VIS_FILE) + $(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-wwan.so "$(srcdir)/libnm-wwan.ver" $(call check_so_symbols,$(builddir)/.libs/libnm-wwan.so) - -endif - diff --git a/src/devices/wwan/exports.ver b/src/devices/wwan/exports.ver deleted file mode 100644 index 24cd848ce..000000000 --- a/src/devices/wwan/exports.ver +++ /dev/null @@ -1,6 +0,0 @@ -{ -global: - nm_device_factory_create; -local: - *; -}; diff --git a/src/devices/wwan/wwan-exports.ver b/src/devices/wwan/libnm-wwan.ver index 23412de62..23412de62 100644 --- a/src/devices/wwan/wwan-exports.ver +++ b/src/devices/wwan/libnm-wwan.ver diff --git a/src/dhcp-manager/Makefile.am b/src/dhcp-manager/Makefile.am index 429541273..e6fe60c1b 100644 --- a/src/dhcp-manager/Makefile.am +++ b/src/dhcp-manager/Makefile.am @@ -14,4 +14,7 @@ nm_dhcp_helper_CPPFLAGS = \ -DG_LOG_DOMAIN=\""nm-dhcp-helper"\" \ -DNMRUNDIR=\"$(nmrundir)\" +nm_dhcp_helper_LDFLAGS = \ + -Wl,--version-script="$(top_srcdir)/linker-script-binary.ver" + nm_dhcp_helper_LDADD = $(GLIB_LIBS) diff --git a/src/settings/plugins/ibft/Makefile.am b/src/settings/plugins/ibft/Makefile.am index 3ad3a19e4..ece08dc35 100644 --- a/src/settings/plugins/ibft/Makefile.am +++ b/src/settings/plugins/ibft/Makefile.am @@ -2,6 +2,8 @@ SUBDIRS = . tests @GNOME_CODE_COVERAGE_RULES@ +include $(top_srcdir)/nm.mk + pkglib_LTLIBRARIES = libnm-settings-plugin-ibft.la noinst_LTLIBRARIES = libnms-ibft-core.la @@ -35,11 +37,17 @@ libnm_settings_plugin_ibft_la_SOURCES = \ nms-ibft-connection.h libnm_settings_plugin_ibft_la_LDFLAGS = \ - -module -avoid-version + -module -avoid-version \ + -Wl,--version-script="$(top_srcdir)/linker-script-settings.ver" libnm_settings_plugin_ibft_la_LIBADD = \ libnms-ibft-core.la ############################################################################### +check-local: + $(call check_so_symbols,$(builddir)/.libs/libnm-settings-plugin-ibft.so) + +############################################################################### + CLEANFILES = $(BUILT_SOURCES) diff --git a/src/settings/plugins/ibft/tests/Makefile.am b/src/settings/plugins/ibft/tests/Makefile.am index 43df1ab77..79ae507eb 100644 --- a/src/settings/plugins/ibft/tests/Makefile.am +++ b/src/settings/plugins/ibft/tests/Makefile.am @@ -1,7 +1,5 @@ if ENABLE_TESTS -include $(top_srcdir)/nm.mk - @GNOME_CODE_COVERAGE_RULES@ AM_CPPFLAGS = \ @@ -36,9 +34,6 @@ test_ibft_LDADD = \ @VALGRIND_RULES@ TESTS = test-ibft -check-local: - $(call check_so_symbols,$(builddir)/../.libs/libnm-settings-plugin-ibft.so) - endif EXTRA_DIST = \ diff --git a/src/settings/plugins/ifcfg-rh/Makefile.am b/src/settings/plugins/ifcfg-rh/Makefile.am index 63c117ea2..8308f739b 100644 --- a/src/settings/plugins/ifcfg-rh/Makefile.am +++ b/src/settings/plugins/ifcfg-rh/Makefile.am @@ -2,6 +2,8 @@ SUBDIRS = . tests @GNOME_CODE_COVERAGE_RULES@ +include $(top_srcdir)/nm.mk + pkglib_LTLIBRARIES = \ libnm-settings-plugin-ifcfg-rh.la @@ -9,12 +11,6 @@ noinst_LTLIBRARIES = \ libnmdbus-ifcfg-rh.la \ libnms-ifcfg-rh-core.la -BUILT_SOURCES = \ - nmdbus-ifcfg-rh.h \ - nmdbus-ifcfg-rh.c - -############################################################################### - AM_CPPFLAGS = \ -I$(top_srcdir)/src/ \ -I$(top_srcdir)/src/platform \ @@ -30,6 +26,10 @@ AM_CPPFLAGS = \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DSBINDIR=\"$(sbindir)\" +BUILT_SOURCES = \ + nmdbus-ifcfg-rh.h \ + nmdbus-ifcfg-rh.c + ############################################################################### nodist_libnmdbus_ifcfg_rh_la_SOURCES = \ @@ -70,7 +70,8 @@ libnm_settings_plugin_ifcfg_rh_la_SOURCES = \ nms-ifcfg-rh-plugin.h libnm_settings_plugin_ifcfg_rh_la_LDFLAGS = \ - -module -avoid-version + -module -avoid-version \ + -Wl,--version-script="$(top_srcdir)/linker-script-settings.ver" libnm_settings_plugin_ifcfg_rh_la_LIBADD = \ libnms-ifcfg-rh-core.la \ @@ -78,6 +79,11 @@ libnm_settings_plugin_ifcfg_rh_la_LIBADD = \ ############################################################################### +check-local: + $(call check_so_symbols,$(builddir)/.libs/libnm-settings-plugin-ifcfg-rh.so) + +############################################################################### + dbusservicedir = $(DBUS_SYS_DIR) dbusservice_DATA = nm-ifcfg-rh.conf @@ -87,3 +93,4 @@ EXTRA_DIST = \ CLEANFILES = $(BUILT_SOURCES) + diff --git a/src/settings/plugins/ifcfg-rh/tests/Makefile.am b/src/settings/plugins/ifcfg-rh/tests/Makefile.am index 8315e494b..299843833 100644 --- a/src/settings/plugins/ifcfg-rh/tests/Makefile.am +++ b/src/settings/plugins/ifcfg-rh/tests/Makefile.am @@ -1,7 +1,5 @@ if ENABLE_TESTS -include $(top_srcdir)/nm.mk - SUBDIRS=network-scripts @GNOME_CODE_COVERAGE_RULES@ @@ -40,7 +38,4 @@ test_ifcfg_rh_LDADD = \ @VALGRIND_RULES@ TESTS = test-ifcfg-rh -check-local: - $(call check_so_symbols,$(builddir)/../.libs/libnm-settings-plugin-ifcfg-rh.so) - endif diff --git a/src/settings/plugins/ifnet/Makefile.am b/src/settings/plugins/ifnet/Makefile.am index f2a65d962..c3e0dee41 100644 --- a/src/settings/plugins/ifnet/Makefile.am +++ b/src/settings/plugins/ifnet/Makefile.am @@ -2,6 +2,14 @@ SUBDIRS = . tests @GNOME_CODE_COVERAGE_RULES@ +include $(top_srcdir)/nm.mk + +pkglib_LTLIBRARIES = \ + libnm-settings-plugin-ifnet.la + +noinst_LTLIBRARIES = \ + libnms-ifnet-core.la + AM_CPPFLAGS = \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/platform \ @@ -16,12 +24,6 @@ AM_CPPFLAGS = \ -DSYSCONFDIR=\"$(sysconfdir)\" -DSBINDIR=\"$(sbindir)\" -pkglib_LTLIBRARIES = \ - libnm-settings-plugin-ifnet.la - -noinst_LTLIBRARIES = \ - libnms-ifnet-core.la - ############################################################################### libnms_ifnet_core_la_SOURCES = \ @@ -43,7 +45,13 @@ libnm_settings_plugin_ifnet_la_SOURCES = \ nms-ifnet-plugin.h libnm_settings_plugin_ifnet_la_LDFLAGS = \ - -module -avoid-version + -module -avoid-version \ + -Wl,--version-script="$(top_srcdir)/linker-script-settings.ver" libnm_settings_plugin_ifnet_la_LIBADD = \ libnms-ifnet-core.la + +############################################################################### + +check-local: + $(call check_so_symbols,$(builddir)/.libs/libnm-settings-plugin-ifnet.so) diff --git a/src/settings/plugins/ifnet/tests/Makefile.am b/src/settings/plugins/ifnet/tests/Makefile.am index 7ff38fa09..283c75894 100644 --- a/src/settings/plugins/ifnet/tests/Makefile.am +++ b/src/settings/plugins/ifnet/tests/Makefile.am @@ -1,7 +1,5 @@ if ENABLE_TESTS -include $(top_srcdir)/nm.mk - @GNOME_CODE_COVERAGE_RULES@ AM_CPPFLAGS= \ @@ -39,9 +37,6 @@ test_ifnet_LDADD = \ @VALGRIND_RULES@ TESTS = test-ifnet -check-local: - $(call check_so_symbols,$(builddir)/../.libs/libnm-settings-plugin-ifnet.so) - endif EXTRA_DIST = \ diff --git a/src/settings/plugins/ifupdown/Makefile.am b/src/settings/plugins/ifupdown/Makefile.am index 539b8a2fe..547834ff6 100644 --- a/src/settings/plugins/ifupdown/Makefile.am +++ b/src/settings/plugins/ifupdown/Makefile.am @@ -2,6 +2,14 @@ SUBDIRS = . tests @GNOME_CODE_COVERAGE_RULES@ +include $(top_srcdir)/nm.mk + +pkglib_LTLIBRARIES = \ + libnm-settings-plugin-ifupdown.la + +noinst_LTLIBRARIES = \ + libnms-ifupdown-core.la + AM_CPPFLAGS = \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/settings \ @@ -15,12 +23,6 @@ AM_CPPFLAGS = \ $(GUDEV_CFLAGS) \ -DSYSCONFDIR=\"$(sysconfdir)\" -pkglib_LTLIBRARIES = \ - libnm-settings-plugin-ifupdown.la - -noinst_LTLIBRARIES = \ - libnms-ifupdown-core.la - ############################################################################### libnms_ifupdown_core_la_SOURCES = \ @@ -38,8 +40,13 @@ libnm_settings_plugin_ifupdown_la_SOURCES = \ nms-ifupdown-plugin.h libnm_settings_plugin_ifupdown_la_LDFLAGS = \ - -module -avoid-version + -module -avoid-version \ + -Wl,--version-script="$(top_srcdir)/linker-script-settings.ver" libnm_settings_plugin_ifupdown_la_LIBADD = \ libnms-ifupdown-core.la +############################################################################### + +check-local: + $(call check_so_symbols,$(builddir)/.libs/libnm-settings-plugin-ifupdown.so) diff --git a/src/settings/plugins/ifupdown/tests/Makefile.am b/src/settings/plugins/ifupdown/tests/Makefile.am index 80abf8a9e..d8d13c3b2 100644 --- a/src/settings/plugins/ifupdown/tests/Makefile.am +++ b/src/settings/plugins/ifupdown/tests/Makefile.am @@ -1,7 +1,5 @@ if ENABLE_TESTS -include $(top_srcdir)/nm.mk - AM_CPPFLAGS = \ -I$(top_srcdir)/shared \ -I$(top_builddir)/shared \ @@ -31,9 +29,6 @@ test_ifupdown_LDADD = \ @VALGRIND_RULES@ TESTS = test-ifupdown -check-local: - $(call check_so_symbols,$(builddir)/../.libs/libnm-settings-plugin-ifupdown.so) - endif EXTRA_DIST = \ diff --git a/tools/create-exports-NetworkManager.sh b/tools/create-exports-NetworkManager.sh new file mode 100755 index 000000000..f0cdd419f --- /dev/null +++ b/tools/create-exports-NetworkManager.sh @@ -0,0 +1,104 @@ +#!/bin/bash + +set -e + +# generates the linker version script src/NetworkManager.ver +# by looking at the symbols needed by the device and settings +# plugins. Note that this depends on how NetworkManager and +# the plugins are build. For example, compiling without +# --with-more-asserts will yield less symbols. +# +# _build re-builds NetworkManager with relevant compile time +# options to yield the most symbols. +_build() { + git clean -fdx + ./autogen.sh --enable-ld-gc --enable-ifcfg-rh --enable-ifupdown \ + --enable-ifnet --enable-ibft --enable-teamdctl --enable-wifi \ + --with-modem-manager-1 --with-ofono --with-more-asserts \ + --with-more-logging + make -j20 +} + +_sort() { + LANG=C sort -u +} + +call_nm() { + nm "$1" | + sed -n 's/^................ \(.\) \(.*\)$/\1 \2/p' +} + +get_symbols_nm () { + call_nm ./src/NetworkManager | + sed -n 's/^[tTDR] //p' | + _sort +} + +get_symbols_explict() { + cat <<EOF | _sort +_IO_stdin_used +EOF +} + +get_symbols_missing() { + (for f in ./src/settings/plugins/*/.libs/*.so ./src/devices/*/.libs/*.so; do + call_nm "$f" | + sed -n 's/^\([U]\) \(\(nm_\|nmp_\|_nm\|NM\|_NM\).*\)$/\2/p' + done) | + _sort | + grep -Fx -f <(get_symbols_explict) -v | + grep -Fx -f <(get_symbols_nm) +} + +pretty() { + sed 's/.*/\t\0;/' +} + +do_build() { + do_update + touch src/main.c + make +} + +do_rebuild() { + _build + do_build +} + +do_update() { + do_generate > ./src/NetworkManager.ver +} + +do_generate() { + cd "$(realpath $(dirname "$0"))/.." + test -f ./src/NetworkManager + + cat <<EOF +# this file is generated by $0 +{ +global: +$(get_symbols_missing | pretty) + +$(get_symbols_explict | pretty) +local: + *; +}; +EOF +} + + +case "$1" in + rebuild) + do_rebuild + ;; + build) + do_build + ;; + update) + do_update + ;; + *) + do_generate + ;; +esac + |