Thu, Mar 07, 2013 at 09:20:07PM CET, jengelh(a)inai.de wrote:
This ensures that programs linking to a new libteam do not
accidentally get installed (in distributions with prebuilt packages)
together with an old libteam when the SONAME is the same for both old
and new.
Hi Jan.
The plan is to use -version-info for this. I will adjust it correctly
before every public release (tgz). That means that SONAME will
not be same for old and new lib. Or do I understand that incorrectly?
(please excuse my ignorance in this area. I have "read the lib doc from
Ulrich Drepper" on my TODO list)
Thanks.
Jiri
Signed-off-by: Jan Engelhardt <jengelh(a)inai.de>
---
libteam/Makefile.am | 2 +-
libteam/libteam.map | 93 +++++++++++++++++++++++++++++++++++++++++++
libteamdctl/Makefile.am | 2 +-
libteamdctl/libteamdctl.map | 13 ++++++
4 files changed, 108 insertions(+), 2 deletions(-)
create mode 100644 libteam/libteam.map
create mode 100644 libteamdctl/libteamdctl.map
diff --git a/libteam/Makefile.am b/libteam/Makefile.am
index 39fec87..ea7fabd 100644
--- a/libteam/Makefile.am
+++ b/libteam/Makefile.am
@@ -9,7 +9,7 @@ lib_LTLIBRARIES = libteam.la
libteam_la_SOURCES = libteam.c ports.c options.c ifinfo.c stringify.c
libteam_la_CFLAGS= $(AM_CFLAGS) $(LIBNL_CFLAGS) -I${top_srcdir}/include -D_GNU_SOURCE
libteam_la_LIBADD= $(LIBNL_LIBS)
-libteam_la_LDFLAGS = $(AM_LDFLAGS) -version-info
@LIBTEAM_CURRENT@:@LIBTEAM_REVISION@:@LIBTEAM_AGE@
+libteam_la_LDFLAGS = $(AM_LDFLAGS) -version-info
@LIBTEAM_CURRENT@:@LIBTEAM_REVISION@:@LIBTEAM_AGE@
-Wl,--version-script=${srcdir}/libteam.map
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libteam.pc
diff --git a/libteam/libteam.map b/libteam/libteam.map
new file mode 100644
index 0000000..33213ba
--- /dev/null
+++ b/libteam/libteam.map
@@ -0,0 +1,93 @@
+LIBTEAM_1.1 {
+global:
+ team_alloc;
+ team_create;
+ team_recreate;
+ team_destroy;
+ team_init;
+ team_free;
+ team_set_log_fn;
+ team_get_log_priority;
+ team_set_log_priority;
+ team_check_events;
+ team_get_mode_name;
+ team_set_mode_name;
+ team_get_active_port;
+ team_set_active_port;
+ team_get_bpf_hash_func;
+ team_set_bpf_hash_func;
+ team_set_port_enabled;
+ team_set_port_user_linkup_enabled;
+ team_get_port_user_linkup;
+ team_set_port_user_linkup;
+ team_set_port_queue_id;
+ team_get_port_priority;
+ team_set_port_priority;
+ team_get_ifinfo;
+ team_get_next_eventfd;
+ team_get_eventfd_fd;
+ team_call_eventfd_handler;
+ team_get_next_port;
+ team_get_port_ifindex;
+ team_get_port_speed;
+ team_get_port_duplex;
+ team_is_port_link_up;
+ team_is_port_changed;
+ team_is_port_removed;
+ team_get_port_ifinfo;
+ team_is_port_present;
+ team_get_next_ifinfo;
+ team_get_ifinfo_ifindex;
+ team_get_ifinfo_port;
+ team_get_ifinfo_hwaddr;
+ team_is_ifinfo_hwaddr_changed;
+ team_get_ifinfo_hwaddr_len;
+ team_is_ifinfo_hwaddr_len_changed;
+ team_get_ifinfo_ifname;
+ team_is_ifinfo_ifname_changed;
+ team_get_ifinfo_master_ifindex;
+ team_is_ifinfo_master_ifindex_changed;
+ team_is_ifinfo_changed;
+ team_get_option;
+ team_get_next_option;
+ team_is_option_initialized;
+ team_get_option_name;
+ team_get_option_port_ifindex;
+ team_is_option_per_port;
+ team_get_option_array_index;
+ team_is_option_array;
+ team_get_option_type;
+ team_is_option_changed;
+ team_is_option_changed_locally;
+ team_get_option_value_len;
+ team_get_option_value_u32;
+ team_get_option_value_string;
+ team_get_option_value_binary;
+ team_get_option_value_bool;
+ team_get_option_value_s32;
+ team_set_option_value_u32;
+ team_set_option_value_string;
+ team_set_option_value_binary;
+ team_set_option_value_bool;
+ team_set_option_value_s32;
+ team_change_handler_register;
+ team_change_handler_unregister;
+ team_option_value_str;
+ team_set_option_value_from_string;
+ team_option_str;
+ team_port_str;
+ team_ifinfo_str;
+ team_ifname2ifindex;
+ team_ifindex2ifname;
+ team_port_add;
+ team_port_remove;
+ team_is_our_port;
+ team_carrier_set;
+ team_carrier_get;
+ team_hwaddr_set;
+ team_hwaddr_get;
+ team_hwaddr_len_get;
+
+local:
+ *;
+};
diff --git a/libteamdctl/Makefile.am b/libteamdctl/Makefile.am
index d3854fc..6f5a35e 100644
--- a/libteamdctl/Makefile.am
+++ b/libteamdctl/Makefile.am
@@ -9,7 +9,7 @@ lib_LTLIBRARIES = libteamdctl.la
libteamdctl_la_SOURCES = libteamdctl.c cli_usock.c cli_dbus.c
libteamdctl_la_CFLAGS= $(AM_CFLAGS) $(JANSSON_CFLAGS) $(DBUS_CFLAGS)
-I${top_srcdir}/include -D_GNU_SOURCE
libteamdctl_la_LIBADD= $(JANSSON_LIBS) $(DBUS_LIBS)
-libteamdctl_la_LDFLAGS = $(AM_LDFLAGS) -version-info
@LIBTEAMDCTL_CURRENT@:@LIBTEAMDCTL_REVISION@:@LIBTEAMDCTL_AGE@
+libteamdctl_la_LDFLAGS = $(AM_LDFLAGS) -version-info
@LIBTEAMDCTL_CURRENT@:@LIBTEAMDCTL_REVISION@:@LIBTEAMDCTL_AGE@
-Wl,--version-script=${srcdir}/libteamdctl.map
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libteamdctl.pc
diff --git a/libteamdctl/libteamdctl.map b/libteamdctl/libteamdctl.map
new file mode 100644
index 0000000..654a867
--- /dev/null
+++ b/libteamdctl/libteamdctl.map
@@ -0,0 +1,13 @@
+LIBTEAM_1.1 {
+global:
+ teamdctl_alloc;
+ teamdctl_free;
+ teamdctl_set_log_fn;
+ teamdctl_get_log_priority;
+ teamdctl_set_log_priority;
+ teamdctl_connect;
+ teamdctl_disconnect;
+
+local:
+ *;
+};
--
1.7.10.4
_______________________________________________
libteam mailing list
libteam(a)lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/libteam