Re: NetworkManager 0.7 Released



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]