Debian package
Jef Driesen
jefdriesen at telenet.be
Thu Feb 28 23:52:08 PST 2013
Hi,
With all the recent discussions on the Debian/Ubuntu packaging, I would
like to pick up this topic again.
On 2013-02-21 12:13, Cristian Ionescu-Idbohrn wrote:
> On Thu, 21 Feb 2013, Jef Driesen wrote:
>> >
>> > So we are calling v0.3 libdivecomputer1?
>>
>> How about using the libtool "-release 0.x" option? If I interpret
>> the libtool
>> documentation correctly, then the soname will become
>> "libdivecomputer-0.x.so".
>> Thus each release will get a different soname. The distro package
>> can be named
>> similarly. The libtool documentation even says: "In general, you
>> should only
>> use -release for package-internal libraries or for ones whose
>> interfaces
>> change very frequently." So I think this applies to libdivecomputer.
>
> That may work. But don't take my word for it. I'm just an amateur
> :)
I don't have any experience with Debian packaging either. I'm
definitely willing to make whatever changes are necessary to make
packaging libdivecomputer in the distributions easier. But at this point
we need someone with a bit more experience in this area to step up and
say whether these changes actually help or not. It makes little sense to
start changing the soname, if there are no real benefits.
Note that if we adopt something like this, I can't retroactive apply
this to the v0.3 release because it's already out. But I assume
distributions can backport this when necessary.
>> When we eventually arrive at v1.0, we can drop the -release option
>> again and
>> switch back to using the -version-info option. I realize the soname
>> would
>> again become libdivecomputer.so.0, but I assume that by that time
>> all the
>> current v0.x releases are likely obsolete and unmaintained. If not,
>> we can
>> always start with libdivecomputer.so.1 instead.
>
> So, let's see what we have:
>
> libdivecomputer0:
> /usr/lib/x86_64-linux-gnu/libdivecomputer.so.0
> /usr/lib/x86_64-linux-gnu/libdivecomputer.so.0.0.0
>
> and compare for example to:
>
> libgstreamer0.10-0:
> /usr/lib/x86_64-linux-gnu/libgstreamer-0.10.so.0
> /usr/lib/x86_64-linux-gnu/libgstreamer-0.10.so.0.30.0
>
I took a quick look at the gstreamer source. They are not using the
libtool -release option, but instead hardcode the library name as
libgstreamer_ at GST_API_VERSION@. I think that in the end, this gives more
or less the same result.
Jef
More information about the subsurface
mailing list