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

