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. We do not do that in
practice and I often see libX removed due to Breaks/Conflicts.

In fact, we even break ABI without changing soname, breaking self-
compilied binaries. See for example the C++ ABI transition: many
libraries changed ABI without changing SONAME. This was repeated with
the t64 transition, another large-scale ABI change without SONAME
change.

Provides is less breakage than current practice allows.

Ansgar

Reply via email to