Bug#1136641: debian-policy: do not require shared libraries to change package name with soname changes
Ansgar 🙀 <[email protected]> Fri, 15 May 2026 13:25:59 +0200
| Newsgroups | gmane.linux.debian.devel.policy |
|---|---|
| Message-ID | <e48e52751c1b11c1e63bbe0420d8f61cba12972c.camel__16125.9875212394$1778844448$gmane$org@debian.org> |
Hi, On Fri, 2026-05-15 at 13:00 +0200, Bill Allombert wrote: > On Thu, May 14, 2026 at 10:46:59AM +0200, Ansgar wrote: > > 2. Coinstallability should be mentioned as a concern for libraries > > with many reverse dependencies, but should explictly state that this > > requires the entire dependency chain to be coinstallable. Note that > > "Depends: libfoo-common (>= X)" runs into the risk that newer > > libfoo-common packages break older library versions and are safe only > > when extraordinary care is taken; the same is true for > > "libfoo-bin". (One could use libfooX-common, libfooX-bin packages > > where data and helper binaries are installed into paths that change > > with the SONAME such as /usr/lib/libfooX/libfoo-helper.) > > During an upgrade even if the file libfoo.so.N is removed, programs > linked against libfoo.so.N might still be running and might still attempt to > access files in libfoo-common or libfoo-bin. > So the new libfoo-common/libfoo-bin still need to be compatible with the old > libfoo.so.N, Sorry, programs *will* in general *not* *work* when their environment is updated while they are running. For most programs this is undefined behavior. A requirement that running instances of Firefox/Libreoffice/* will continue to work while their packages are upgraded (or even removed) is not realistic. It only works by luck for trivial programs (and nobody tests this). Ansgar