packaging libraries with no versioned .so files
Ville Skyttä
ville.skytta at iki.fi
Thu Mar 19 18:10:25 UTC 2009
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.
Based on these issues, I think inventing sonames should be discouraged instead
of being recommended or mentioned as a best practice. 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.
More information about the fedora-devel-list
mailing list