Bug#1136641: debian-policy: do not require shared libraries to change package name with soname changes

Bill Allombert <[email protected]> Thu, 14 May 2026 13:45:25 +0200
Newsgroups gmane.linux.debian.devel.policy
Message-ID <agW11djx3masWZpD__21063.2419724547$1778759249$gmane$org@seventeen>
On Thu, May 14, 2026 at 12:09:31PM +0200, Ansgar 🙀 wrote:
> Hi,
> 
> On Thu, 2026-05-14 at 11:47 +0200, Bill Allombert wrote:
> > On Thu, May 14, 2026 at 10:46:59AM +0200, Ansgar wrote:
> > > 1. It is not needed to change package names for this. One can also use
> > > "Provides: <something-that-changes-with-soname>" and have packages
> > > depend on that.
> > 
> > Provides: would not work.
> > 
> > Policy need to ensure that users can safely build binaries using the libxxx-dev packages installed by Debian
> > and create programs dynamically linked with the shared library package they depend on, and still allow them
> > to upgrade their system from oldstable to stable without causing such shared library to be replaced by 
> > libraries with incompatible soname and causing users compiled binaries to break.
> > 
> > This requires coinstability of libxxx.so.n and libxxx.so.m.
> > Provides does not permit this.
> 
> Then Policy would need to forbid *any* Breaks/Conflicts against libX
> packages that are no longer shipped by Debian. 

Yes.

> We do not do that in practice and I often see libX removed due to
> Breaks/Conflicts.

Please report them as bugs. There are little reason to conflict against
such packages.  If libfoo-common is soname specific, it needs to be called
libfooN-common.

Cheers,