Shared Libs Policy/en
< Shared Libs Policy
Версия от 15:34, 28 июня 2024; Vt (обсуждение | вклад) (Новая страница: «Summarized version of the policy: # '''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. # '''Policy Summary''': #* Avoid placing a new '''soname''' in a package with the same name where the old '''soname''' was located. # '''Packaging Libraries''': #* Libraries should be packaged in a way that the package name changes with each ABI break....»)
Summarized version of the policy:
- 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.
- Policy Summary:
- Avoid placing a new soname in a package with the same name where the old soname was located.
- 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`.
- Choosing the Right %abiversion:
- Use the soversion if explicitly used by library authors.
- Otherwise, choose a convenient naming scheme (e.g., sequential numbers).
- Legacy Libraries and Backports:
- Move old libraries to the 'System/Legacy libraries' group when a new version appears.