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

Re: How to handle breakages when the size of a class in a shared lib increases?



On Tue, Jul 11, 2023 at 04:10:49PM +0200, Pierre Gruet wrote:
> I maintain a package that builds a shared library. I uploaded a new upstream
> version of it to Debian, with no removed symbols, no ABI change... Fine.
Tobias already explained that there was actually an ABI change, but...

> How should we handle such situation in Debian? Quoting Policy 8.1:
> 
>   The SONAME and binary package name need not, and indeed normally
>   should not, change if new interfaces are added but none are removed or
>   changed, since this will not break binaries linked against the old
>   shared library. Correct versioning of dependencies on the newer shared
>   library by binaries that use the new interfaces is handled via the
>   symbols or shlibs system.
> 
> So my understanding is that no SONAME change and no transition are needed,
> although the rdeps indeed have to be rebuilt as their binaries _are_ broken
> by the new version of the library.
... I want to add that "the rdeps indeed have to be rebuilt"  means, by
definition, that an ABI change happened. It's not similar to adding a
symbol when the same SONAME may mean different symbol lists but you can
say "this binary needs at least this version of the library", it's a true
ABI breakage like with removing a symbol, when old binaries only work with
the old library, which the quote is about.


Reply to: