Shared Libs Policy/en

Материал из ALT Linux Wiki

Summarized version of the policy:

  1. Definition:
    • A shared library (`.so` file) is intended for use by multiple programs.
    • Explicitly loaded `.so` files (e.g., plugins) are not covered by this policy.
  2. Policy Summary:
    • Avoid placing a new soname in a package with the same name where the old soname was located.
  3. Packaging Libraries:
    • Libraries should be packaged in a way that the package name changes with each ABI break.
    • The package should be named `lib%name%abiversion`, where `%abiversion` is the variable part.
    • Development parts of libraries should be in a separate (only one for each library) package named `lib%name-devel`.
    • Static libraries should be in a separate package named `lib%name-devel-static`.
  4. Choosing the Right %abiversion:
    • Use the soversion if explicitly used by library authors.
    • Otherwise, choose a convenient naming scheme (e.g., sequential numbers).
  5. Legacy Libraries and Backports:
    • Move old libraries to the 'System/Legacy libraries' group when a new version appears.