[Debichem-devel] Bug#702573: libopenms1 - No stable ABI

Michael Banck mbanck at debian.org
Thu Mar 28 17:02:59 UTC 2013


Hi,

On Thu, Mar 28, 2013 at 04:34:45PM +0100, Filippo Rusconi wrote:
> > Package: libopenms1
> > Version: 1.9.0-2
> > Severity: serious
> 
> > OpenMS upstream does not provide a stable ABI of libOpenMS. So neither
> > the patch to add one nor this package name are appropriate.
> 
> I am back to you about this bug. After a few mails exchanged with the
> OpenMS crew (Oliver Kohlbacher, specifically), I ended coming out with
> the following reasoning:
> 
> 1 - OpenMS is a well-respected project that has an interesting user
>     base;
> 
> 2 - While the library is functionally stable (that is, it provides
>     features that perform fine), it is not stable in the ABI stability
>     sense;
> 
> 3 - In the context of Debian, ABI stability is crucial for
>     largely-used libraries because it avoids having to recompile all
>     the packages that depend on the libraries each time 
>     new ABI-breaking versions are released;
> 
> 4 - Availability of mass spectrometry packages in Debian is almost
>     NULL, since my project to bring to Debichem a complete set of such
>     packages is still in its infancy. Therefore, at the moment, there
>     is not a single source package that depends on libopenms;
> 
> 5 - New versions of OpenMS are released at a pretty low rate, and I
>     would think that this fact somehow limits the negative impact of
>     having ABI breakage between versions. Thus, it might be perfectly
>     possible to have a new soname version each time a new release is
>     done;
> 
> 6 - The authors of OpenMS state that ABI stability of libopenms is not
>     their immediate priority and that they do not intend to change
>     anything about it;
> 
> 7 - I think that, because OpenMS is a powerful library aimed at
>     allowing people to craft flexible mass data analysis workflows, we
>     should accept the impact of ABI instability in favour of providing
>     users with a properly-packaged library. For those present at my
>     FOSDEM2013 talk [0], remember that the OpenMS software
>     (2 libraries, 114 binaries) is huge and that the few mass
>     spectrometrists I spoke with about packaging it told me that they
>     could not even build it! I really think it is of primary
>     importance to have that software packaged in Debian.
> 
> [0] https://fosdem.org/2013/schedule/event/mass_spectrometry_debian/
> 
> After having said all this, I remain with a question : is this sound,
> or is this totally unreasonable?

One alternative would be to only ship a -dev package, including a static
library.  This would make all reverse-depends duplicate the code and
have some implications for security updates, but it would the problem
of ABI stability.

It is pretty easy with CMake to force a custom SO-Name (like 0d.0.0 for
debian), which one can incrememnt while upstream does not subscribe to a
stable ABI.  It is more difficult with libtool, though; I don't know
about the OpenMS build system.


Michael



More information about the Debichem-devel mailing list