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