Dan Williams wrote: > On Mon, 2008-12-01 at 17:39 +0000, Sjoerd Simons wrote: >> On Mon, Dec 01, 2008 at 12:05:15PM -0500, Dan Williams wrote: >>> On Sun, 2008-11-30 at 15:02 +0100, Sjoerd Simons wrote: >>>> On Sat, Nov 29, 2008 at 10:50:40PM -0500, Dan Williams wrote: >>>>> On Sat, 2008-11-29 at 22:59 +0100, Sjoerd Simons wrote: >>>>> Well... libnm-util did, but libnm-util for 0.6 was only meant to be used >>>>> between the applet and NM itself. libnm_glib ABI/API should be the same >>>>> between 0.6 and 0.7, because the 0.7 libnm_glib actually includes all of >>>>> the 0.6 libnm_glib. >>>> The NM applet is still an external application though and libnm-util is >>>> still a proper library. So proper library versioning is still something >>>> that needs to be done. Especially if nothing actually used it, then bumping >>>> the soname shouldn't be a hassle. >>> I understand how it's supposed to work, yes, but if we don't break the >>> ABI/API going forward past 0.7, should we bump the soname and require a >>> recompile of everything that uses libnm-util and libnm-glib now? Or >>> just tell distros to set up a symlink? >> I don't understand the symlink comment.. I don't know how many distributions >> are already shipping NM 0.7 with the current sonames. Obviously if you're going >> to bump the soname, it should be done asap to minimize transition pain. >> >> Pratically, once people have started shipping a library with a new ABI but >> without a soname bump, you've already lost. Imho it still makes sense to bump >> the soname now and have those that shipped 0.7 very early go through the little >> bit of pain a soname transitions gives. As it will smoothen the 0.6 => 0.7 >> transition for those that still have to do that. But obviously i'm slightly >> biased here as Debian tends to care more about these things then most other >> distributions :) > > So you mean do a soname bump on the _stable_ branch of 0.7, for what > would be the 0.7.1 release, correct? I think we can get away with only bumping the soname of libnm-util. Strictly speaking we have removed interfaces from libnm_glib, but they were never part of the public ABI. So I think we are safe here. But we have added new interfaces. So the correct version-info for libnm-glib would be "1:0:1" libnm-glib-vpn is a new lib, starting with "0:0:0" For libnm-util we broke ABI, so "1:0:0" would be the version string. I've added a patch for that. 3rd party apps, that have linked against libnm_glib (In Debian we have evolution, liferea and krb5-auth-dialog) won't need recompilation. Apps depending on libnm-util (nm-applet, vpn plugins and knetworkmanager 0.7) will need recompilation. I would not start creating a libnm-util.so.0 symlink, if you have already released 0.7 packages of NM, but simply recompile those few packages mentioned above. And yes, I think Sjoerd intention is to have a 0.7.1 release with this fixed sonames. Cheers, Michael -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth?
diff --git a/libnm-glib/Makefile.am b/libnm-glib/Makefile.am index a8b4aca..96b1d94 100644 --- a/libnm-glib/Makefile.am +++ b/libnm-glib/Makefile.am @@ -91,7 +91,8 @@ libnm_glib_la_LIBADD = \ $(GCONF_LIBS) \ $(GNOME_KEYRING_LIBS) -libnm_glib_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libnm_glib.ver +libnm_glib_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libnm_glib.ver \ + -version-info "1:0:1" noinst_PROGRAMS = libnm-glib-test @@ -103,7 +104,8 @@ libnm_glib_test_LDADD = libnm_glib.la $(top_builddir)/libnm-util/libnm-util.la $ libnm_glib_vpn_la_SOURCES = nm-vpn-plugin.c nm-vpn-plugin-ui-interface.c libnm_glib_vpn_la_CFLAGS = $(GLIB_CFLAGS) $(DBUS_CFLAGS) libnm_glib_vpn_la_LIBADD = $(top_builddir)/libnm-util/libnm-util.la $(GLIB_LIBS) $(DBUS_LIBS) -libnm_glib_vpn_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libnm_glib_vpn.ver +libnm_glib_vpn_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libnm_glib_vpn.ver \ + -version-info "0:0:0" nm-client-bindings.h: $(top_srcdir)/introspection/nm-manager-client.xml diff --git a/libnm-util/Makefile.am b/libnm-util/Makefile.am index ce72c16..5e96865 100644 --- a/libnm-util/Makefile.am +++ b/libnm-util/Makefile.am @@ -52,7 +52,8 @@ libnm_util_la_SOURCES= \ libnm_util_la_LIBADD = $(GLIB_LIBS) $(DBUS_LIBS) $(UUID_LIBS) -libnm_util_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libnm-util.ver +libnm_util_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libnm-util.ver \ + -version-info "1:0:0" if WITH_GNUTLS libnm_util_la_SOURCES += crypto_gnutls.c
Attachment:
signature.asc
Description: OpenPGP digital signature