After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 710805 - [next] bump folks-tp ABI
[next] bump folks-tp ABI
Status: RESOLVED DUPLICATE of bug 708871
Product: folks
Classification: Platform
Component: Telepathy backend
git master
Other Linux
: Normal enhancement
: Unset
Assigned To: folks-maint
folks-maint
Depends on:
Blocks:
 
 
Reported: 2013-10-24 13:22 UTC by Guillaume Desmottes
Modified: 2013-10-24 16:22 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Guillaume Desmottes 2013-10-24 13:22:23 UTC
Folks 'next' branch depends on tp-glib next which breaks its API/ABI. We should bump folks-tp lib ABI. And maybe rename it folks-telepathy-1 to stay coherent with the rest of the TP stack?
Comment 1 Philip Withnall 2013-10-24 13:29:35 UTC
I think this would only be necessary if TpAccount or TpContact have changed layout. folks-telepathy.h only exposes those two types as argument and return pointers — nothing else. So as long as those two types are ABI-compatible from folks to client and vice-versa, there shouldn’t be a problem, I think.

I am by no means an expert in ABI stability, though, so I could be wrong.
Comment 2 Simon McVittie 2013-10-24 14:07:15 UTC
(In reply to comment #1)
> I think this would only be necessary if TpAccount or TpContact have changed
> layout.

They have - or at least, we don't guarantee that they haven't.

The general rule is that libraries that expose the ABI of a library that has bumped SONAME should bump SONAME.
Comment 3 Simon McVittie 2013-10-24 14:11:21 UTC
(In reply to comment #2)
> The general rule is that libraries that expose the ABI of a library that has
> bumped SONAME should bump SONAME.

Apart from the obvious reason for this, GTypes are a flat global namespace (as are C symbols, although we mitigate that by using versioned symbols where supported, which I believe means GNU/anything and Solaris).

If you end up with both telepathy-glib (0.x) and telepathy-glib-1 in your process space, they're going to fight over the definition of TpAccount, TpProxy, etc., and a crash is very likely.
Comment 4 Philip Withnall 2013-10-24 16:22:11 UTC
OK, let’s go with a soname bump for folks-telepathy. The porting work is going on in bug #708871, so let’s dupe to that bug and continue there. Thanks for your helpful explanation, Simon.

*** This bug has been marked as a duplicate of bug 708871 ***