On 2020-06-11 15:35 +0800, Paul Wise wrote: > Looks like what you haven't isn't correct, it should be libzmat1 > instead of libzmat in the control file, since the library package name > is supposed to be based on the SONAME of the library.
Are you sure you are not being excessively categorical here? libzmat1 is preferred, but libzmat is not 'wrong'. (Hmm, checks policy - OK, maybe it is wrong :-) The point is that when the SONAME is included in the package name then packages depending on this library can transition to the new libzmat2 one by one, as they are built after the SONAME=2 version of zmat is uploaded one day. Older packages built earlier which depend on libzmat (SO=1) and depend on libzmat1 package carry on working and libzmat1 package stays on the system until nothing depends on it any more because the depending packages have all been upgraded to depend on libzmat2. If you just have 'libzmat' then this process is not possible and when you upload a new libzmat (SO=2) one day all the packages that depend on it have to be rebuilt against the new version, and only when all are done can the packages transition into testing. In practice this can cause huge delays, so we developed the practice of putting SONNAMES into package names to make the whole thing work rather better. So if for some reason it is not safe to have two versions of the library simultaneously installed then an unversioned library package (libzmat) makes sense but that's rare. So Bouyang's "Either one is okay in this case." is misleading. The -dev package should usually not contain the SONAME in the package name - that's only needed when you need people to be able to link explicitly against libzcat1 or libzcat2. (makes sense for something like a big GUI toolkit: QT4 and QT5, but not a leaf compression library) Library naming conventions are subtle and the reasons for _why_ one might want to do one thing or another are not obvious. Details are given in policy: https://www.debian.org/doc/debian-policy/ch-sharedlibs.html Wookey -- Principal hats: Linaro, Debian, Wookware, ARM http://wookware.org/
signature.asc
Description: PGP signature