summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-10-13 21:52:51 +0200
committerThomas Haller <thaller@redhat.com>2016-10-13 21:52:51 +0200
commitd2cc6fb14806b9e272ddb7324320376b3a998a96 (patch)
tree5692c073789bddac1c453f9aea0580b609400c52
parent034f07787dc68fe1f81662d537c9baf81302a573 (diff)
parent17bb165c0573f35ca8f8bccdfdeaa048f5583370 (diff)
build: merge branch 'th/nm-symbols-bgo772791'
https://bugzilla.gnome.org/show_bug.cgi?id=772791
-rw-r--r--.gitignore15
-rw-r--r--Makefile.am85
-rw-r--r--clients/Makefile.am3
-rw-r--r--clients/cli/Makefile.am3
-rw-r--r--clients/tui/Makefile.am3
-rw-r--r--configure.ac6
-rw-r--r--dispatcher/Makefile.am (renamed from callouts/Makefile.am)62
-rw-r--r--dispatcher/nm-dispatcher-utils.c (renamed from callouts/nm-dispatcher-utils.c)0
-rw-r--r--dispatcher/nm-dispatcher-utils.h (renamed from callouts/nm-dispatcher-utils.h)0
-rw-r--r--dispatcher/nm-dispatcher.c (renamed from callouts/nm-dispatcher.c)0
-rw-r--r--dispatcher/nm-dispatcher.conf (renamed from callouts/nm-dispatcher.conf)0
-rw-r--r--dispatcher/nm-dispatcher.xml (renamed from callouts/nm-dispatcher.xml)0
-rw-r--r--dispatcher/org.freedesktop.nm_dispatcher.service.in (renamed from callouts/org.freedesktop.nm_dispatcher.service.in)0
-rw-r--r--dispatcher/tests/Makefile.am (renamed from callouts/tests/Makefile.am)10
-rw-r--r--dispatcher/tests/dispatcher-connectivity-full (renamed from callouts/tests/dispatcher-connectivity-full)2
-rw-r--r--dispatcher/tests/dispatcher-connectivity-unknown (renamed from callouts/tests/dispatcher-connectivity-unknown)2
-rw-r--r--dispatcher/tests/dispatcher-down (renamed from callouts/tests/dispatcher-down)2
-rw-r--r--dispatcher/tests/dispatcher-external (renamed from callouts/tests/dispatcher-external)2
-rw-r--r--dispatcher/tests/dispatcher-up (renamed from callouts/tests/dispatcher-up)2
-rw-r--r--dispatcher/tests/dispatcher-vpn-down (renamed from callouts/tests/dispatcher-vpn-down)2
-rw-r--r--dispatcher/tests/dispatcher-vpn-up (renamed from callouts/tests/dispatcher-vpn-up)2
-rw-r--r--dispatcher/tests/test-dispatcher-envp.c (renamed from callouts/tests/test-dispatcher-envp.c)2
-rw-r--r--libnm-core/nm-setting-connection.c7
-rw-r--r--libnm-core/nm-setting-ip-config.c1
-rw-r--r--libnm-core/nm-setting-wired.c6
-rw-r--r--libnm-core/nm-utils.c7
-rw-r--r--libnm-glib/Makefile.am5
-rw-r--r--libnm-util/Makefile.am5
-rw-r--r--libnm/nm-client.c47
-rw-r--r--linker-script-binary.ver6
-rw-r--r--linker-script-devices.ver (renamed from src/devices/adsl/exports.ver)0
-rw-r--r--linker-script-settings.ver6
-rw-r--r--policy/Makefile.am28
-rw-r--r--shared/Makefile.am21
-rw-r--r--src/Makefile.am2
-rw-r--r--src/NetworkManager.ver562
-rw-r--r--src/devices/adsl/Makefile.am13
-rw-r--r--src/devices/bluetooth/Makefile.am12
-rw-r--r--src/devices/bluetooth/exports.ver6
-rw-r--r--src/devices/team/Makefile.am12
-rw-r--r--src/devices/team/exports.ver6
-rw-r--r--src/devices/wifi/Makefile.am17
-rw-r--r--src/devices/wifi/exports.ver6
-rw-r--r--src/devices/wifi/tests/Makefile.am3
-rw-r--r--src/devices/wwan/Makefile.am20
-rw-r--r--src/devices/wwan/exports.ver6
-rw-r--r--src/devices/wwan/libnm-wwan.ver (renamed from src/devices/wwan/wwan-exports.ver)0
-rw-r--r--src/dhcp-manager/Makefile.am3
-rw-r--r--src/settings/plugins/ibft/Makefile.am10
-rw-r--r--src/settings/plugins/ibft/tests/Makefile.am5
-rw-r--r--src/settings/plugins/ifcfg-rh/Makefile.am21
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/Makefile.am5
-rw-r--r--src/settings/plugins/ifnet/Makefile.am22
-rw-r--r--src/settings/plugins/ifnet/tests/Makefile.am5
-rw-r--r--src/settings/plugins/ifupdown/Makefile.am21
-rw-r--r--src/settings/plugins/ifupdown/tests/Makefile.am5
-rwxr-xr-xtools/create-exports-NetworkManager.sh104
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
+