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.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)