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

Sune Stolborg Vuorela <[email protected]> Thu, 14 May 2026 20:40:55 +0200
Newsgroups gmane.linux.debian.devel.policy
Message-ID <2263463.irdbgypaU6__19067.1839563706$1778784205$gmane$org@dabney>
On Thursday, May 14, 2026 5:33:00 PM Central European Summer Time Russ Allbery 
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.
> 
> I don't understand this objection. The reason why the name of the package
> needs to change is that for a normal upgrade transition that doesn't
> require a lockstep upgrade, you have to be able to install version 1 and
> version 2 (SONAMEs) of the library at the same time, and the only way that
> is possible in Debian's packaging system is if either they are both
> included in the same package (usually not a good idea since the different
> versions come from different versions of the source package, and certainly
> not the common approach) or if the package name is different.

But sometimes you don't want to. Especially if  the libraries are not using 
symbol versioning and the libraries are likely to be loaded into the same 
process.

> 
> Provides is of no help here whatsoever so far as I can see. What am I
> missing?

You can do a lot of magic with shlibs/symbols files and provides

e.g. you can in your symbols/shlibs file specify 
libfoo (>>VERSION), libfoo-abi-7

and have libfoo provide libfoo-abi-7.

We have done that for libraries with exported-symbols-that-shouldn't-be-used-
unless-you-are-special; see for example the qt6-base source package.

It is also used for the kdepim (personal information management: 
email,contacts,calendar,...) which has a lot of shared components without a 
stable abi and from an upstream POV it is considered one release that just 
comes in multiple tarballs.

/Sune
-- 
I didn’t stop pretending when I became an adult, it’s just that when I was a 
kid I was pretending that I fit into the rules and structures of this world. 
And now that I’m an adult, I pretend that those rules and structures exist.
   - zefrank
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEhRQGex8fXfTnneCAGjB2XfHw0+0FAmoGFzcACgkQGjB2XfHw
0+1v9Q//bMPAJGYrEwAFlieCbB/TFiVsMM5/6PSAj/0A9ajq3KT2CuHeMqc8Q0OS
6WteZV2CvQ119UDsph7Zr6YxjPvko7FuP8m2VW5Xl2pCZujTVoni/K//f5/uLj5x
yq4MLfc0hnodHRPmGxOXzqeqhTWgzux/+Dp75MTMUOyI1uRprAArGC59GN7F3hI4
N9R7ZtCw2haxtv9AIeFeJlS3buriEc58fomqEFNucwqcnzt4oyf6YeWnEyWmDCQA
wGd6Gg+0OJN0Bg8RtCBDSQIdBKC3CcihRojs1OLVmClIs/Qv+p4H0Hq1ll1f5CaT
5tDaURxr9B4sC9nDc5N6imtxIwH1JuO+rO546OX5SisO9fsuAfni7jj2+gIbJsRE
2P2fjOVWn1rjt4z/kNG2JBrpGIQH6oIY2wr/g4Db0ERlv9zIMGxMn7fBZTI9SQDH
e+NdSNdP+/XHljpQJI99odiv49B1GRDEo8yEeeqQRRt8mMp1gCVlkjQbLwncdzrk
TrltpTmyliGQxHYSa/gDsv/jx5FGAwWm7FXbNoEHnpaBPkKVZw0WrDAZPf2Qnm8m
43+sEgRHw26ueGVie7YTQbklnC8QCINUG6N+iOa493DEtbBiv2s3pSJxpxt00hEz
B4uCNdTgRwcs+PBwI8VPT6JPxHahwjys6Hfj10REwO9odO+SnQ8=
=Ellp
-----END PGP SIGNATURE-----