On Sun, Dec 16, 2012 at 2:12 AM, Jan Engelhardt <jengelh@inai.de> wrote:
On Wednesday 2012-12-12 13:53, Mike Gabriel wrote:
Hi Reinhard,
On Mi 12 Dez 2012 13:13:13 CET Reinhard Tartler wrote:
If stricter dependencies are really required, they should absolutely be specified in the slibs file instead
I strongly recommend that all installed (binary) components of the NX suite have the same version. So, out of paranoia, strict dependencies are required.
And the paranoia is absolutely justified. At times, but especially when people make the SOVERSION the same as the package version - and this is the case with nxlibs - they tend to change the API without changing the SONAME. And they don't want to change the SONAME because *surprise* that would break their oh-so-important-but-anyway-flawed scheme of SOVERSION=package version.
One would have to look at all NX3 releases that had been made by upstream and look at whether they changed the ABI at any point. If so, you're already doomed and should use libXcomp-3.5.1.so, so that _all_ of the version is part of the SONAME.
When people make the complete version number part of the SONAME (which I think is what you claim here), then it actually makes things a bit easier from the packaging side. The part that Mike is worried about here is a bit different.
My point here is that this reasoning does not only apply to nxlibs itself, but also to other applications outside of x2go that link against nxcomp and friends, such as qtnx to give an example. Therefore adding them in debian/control is wrong -- they should end up in the shlibs file of the resulting library packages so that they get picked up by both x2go and external packages consistently.
Please note that RPM does not have anything similar as the debian shlibs system. See http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-shli... and http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#shlib...
-- regards, Reinhard