Re: packaging libraries with no versioned .so files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ville Skyttä wrote:
On Thursday 19 March 2009, Hans de Goede wrote:

If upstream doesn't do library versioning it is a safe bet that they
don't guarantee ABI stability either.

The best practice in this case is to patch upstream's Makefiles to make
versioned libraries with the full upstream version in the soname
(use -release argument to libtool if using libtool).

Is inventing sonames really a best practice or even something that should be recommended?

Drawbacks of doing so include problems if/when upstream later implements versioning as well and ships a version of a lib using the same soname that was earlier used in Fedora for something that's not ABI compatible, confusion caused by versions possibly decreasing in these scenarios, and another smaller one is inflicted binary incompatibilities between distros.


Which is why I advised using libtool's -release argument, or manually mimicking this,
this leads to soname's like: libfoo-%{version}.so. So if upstream starts doing versioning,
even if the choose the same scheme they will end up with different soname's (as the next
upstream release will have a different %{version} I may hope)

Sure this needs to be brought up upstream and in the mean time it should be fixed
*properly* in Fedora.

Based on these issues, I think inventing sonames should be discouraged instead of being recommended or mentioned as a best practice.

NACK ...

IMO (unless I've misunderstood something) a best practice would be to persuade upstream to implement lib versioning even if the version changes on every release until things stabilize, and until they do, resort to strict NEVR based dependencies towards those unversioned lib packages in other Fedora packages, and never invent sonames.

Full NEVR deps are way more bad then inventing soname's:
1) overkill, the ABI will only change with a new upstream release,
   not with some minor packaging fix / rebuild
2) only fix part of the problem, what if users compile software
   themselves against the unversioned so ?

We have a problem with non proper versioning in ld.so 's namespace, this *MUST*
be fixed in ld.so's namespace, fixing this at the rpm level is as good as
useless.

Regards,

Hans

--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux