Debian package

Jef Driesen jefdriesen at telenet.be
Wed Feb 20 07:25:29 PST 2013


On 2013-02-19 07:18, Roland Dreier wrote:
> On Sat, Feb 16, 2013 at 4:12 AM, Jef Driesen <jefdriesen at telenet.be> 
> wrote:
>> Just to confirm what Dirk already said. Everything on the 
>> release-0.3 branch
>> will be fully backwards compatible with the v0.3.0 release. Only 
>> pure
>> bugfixes will go in that branch. No changes in API or ABI are 
>> allowed!
>
> I guess the last thing that would make libdivecomputer packaging
> friendly would be to use the soname to indicate when ABI changes;
> right now as far as I can see the 0.3.0 release just creates
> libdivecomputer.so.0.0.0 and libdivecomputer.so.0 (which is fine if
> this is the first version that cares about ABI).  The Debian policy
> has the following to say about library versions:
> http://www.debian.org/doc/debian-policy/ch-sharedlibs.html (and the
> libtool manual is perhaps useful as well:
> http://www.gnu.org/software/libtool/manual/libtool.html#Versioning)
>
> In a nutshell, if I have libdivecomputer0 installed with soname 0,
> then anthing that depends on that library should keep working no
> matter how I upgrade to newer versions of libdivecomputer0.  Anything
> that breaks ABI should have a new soname (ie become 
> libdivecomputer1).
>
> Unfortunately this may already be broken in Debian, since the
> libdivecomputer0 package already in the archive looks to be fairly
> old.

The necessary libtool infrastructure for bumping the soname has already 
been in place from the early days. I just never used it, because I never 
considered the API ready enough to commit myself to maintaining a stable 
ABI. So basically, the api is a bit of a moving target right now. The 
API/ABI has been broken with every v0.x release. Unfortunately this will 
have to continue for a while, until we reach a point where we're all 
satisfied with the api. The goal is to release v1.0 at that point and 
keep the API/ABI backwards compatible from then on.

I'm not sure what's the best way to handle this. If I would enable the 
libtool version mechanism, then basically every release will bump the 
soname. I don't know if that actually helps or not.

Jef


More information about the subsurface mailing list