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: