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

Bug#509933: versioning SONAMEs of shared libraries is not clearly recommended



On Sun, Jul 18, 2010 at 18:27:33 +0200, Emilio Pozuelo Monfort wrote:

> On 13/07/10 04:11, Russ Allbery wrote:
[...]
> > +      <sect id="sharedlibs-runtime">
> > +	<heading>Run-time shared libraries</heading>
> > +
> > +	<p>
> > +	  The run-time shared library must be placed in a package
> > +	  whose name changes whenever the <tt>SONAME</tt> of the shared
> > +	  library changes.  This allows several versions of the shared
> > +	  library to be installed at the same time, allowing installation
> > +	  of the new version of the shared library without immediately
> > +	  breaking binaries that depend on the old version.  Normally, the
> 
> Should this also mention that every file's absolute path in that package should
> change whenever the SONAME changes (either because the file is versioned or
> because it's in a versioned path), with the exception of /usr/share/doc/$package?
> 
That's not much of an exception, since $package usually changes when the
SONAME does.

[...]
> > +	<p>
> > +	  Every time the shared library ABI changes in a way that may
> > +	  break binaries linked against older versions of the shared
> > +	  library, the <tt>SONAME</tt> of the library and the
> > +	  corresponding name for the binary package containing the runtime
> > +	  shared library should change.  Normally, this means
> 
> Any reason this is a should and not a must?
> 
There are other ways to handle ABI changes, see e.g. libapt-pkg, where
the binary package name never changes.
And in cases where upstream doesn't bump the SONAME, using a
debian-specific SONAME may not always be the best plan.

Cheers,
Julien

Attachment: signature.asc
Description: Digital signature


Reply to: