From Fedora Project Wiki

< User:Jstanek

Revision as of 14:59, 11 March 2014 by Jstanek (talk | contribs) (Created page with " == Downstream .so name versioning == In case the upstream ships unversioned .so '''library''' (so this is not needed for plugins, drivers, etc.), the packager '''MUST''' try...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Downstream .so name versioning

In case the upstream ships unversioned .so library (so this is not needed for plugins, drivers, etc.), the packager MUST try to convince upstream to start versioning it.

If it fails due to unwilling or unresposive upstream, the packager should start versioning downstream. Under no cicumstances the unversioned library should be shipped in Fedora.

For downstream versioning, the name should be composed like this:

libfoobar.so.0.n

The n should be the number of downstream release. Do not forget to add the -Wl,-soname,libfoobar.so.0.n to the compiler flags in order to compile-in the library name.

When new version of the library is released, you should use the abi-compliance-checker tool to check differences in the build shared libraries, and if it detects any incompatibilities, bump the n number.