From Fedora Project Wiki
(Created page with '== 1.24.1 - Packaging Shared Libraries == Wherever possible, libraries should be created with versioning in the filename, and provide a set of unversioned symlinks in a -devel f...')
 
No edit summary
Line 1: Line 1:
== 1.24.1 - Packaging Shared Libraries ==
This should be added to the Shared Libraries section of the [[Packaging Guidelines]]
 
1.24.1 - Packaging Shared Libraries


Wherever possible, libraries should be created with versioning in the filename, and provide a set of unversioned symlinks in a -devel file.  In the case that a package only has unversioned libraries, they may be included in the non-devel packages.
Wherever possible, libraries should be created with versioning in the filename, and provide a set of unversioned symlinks in a -devel file.  In the case that a package only has unversioned libraries, they may be included in the non-devel packages.


If a library is providing resources that other packages may need at compile or runtime, it should be installed directly to the default library search path.  Subdirectories in %{_libdir} are for shared libraries that are not intended for use by other programs.  For example, gstreamer plugins that are only loaded by gstreamer are installed to their own subdirectory in ${_libdir}.  Generally, plugin libraries are loaded by a program at runtime.  If libraries are installed into a subdirectory but still need to be on tye system library search path, an entry in /etc/ld.so.conf.d/ may be created to add a subdirectory to the ld search path. If a program installs libraries to /usr/lib/foo, it may create /etc/ld.so.conf.d/foo.conf containing the line /usr/lib/foo.
If a library is providing resources that other packages may need at compile or runtime, it should be installed directly to the default library search path.  Subdirectories in %{_libdir} are for shared libraries that are not intended for use by other programs.  For example, gstreamer plugins that are only loaded by gstreamer are installed to their own subdirectory in ${_libdir}.  Generally, plugin libraries are loaded by a program at runtime.  If libraries are installed into a subdirectory but still need to be on tye system library search path, an entry in /etc/ld.so.conf.d/ may be created to add a subdirectory to the ld search path. If a program installs libraries to /usr/lib/foo, it may create /etc/ld.so.conf.d/foo.conf containing the line /usr/lib/foo.

Revision as of 02:40, 6 January 2010

This should be added to the Shared Libraries section of the Packaging Guidelines

1.24.1 - Packaging Shared Libraries

Wherever possible, libraries should be created with versioning in the filename, and provide a set of unversioned symlinks in a -devel file. In the case that a package only has unversioned libraries, they may be included in the non-devel packages.

If a library is providing resources that other packages may need at compile or runtime, it should be installed directly to the default library search path. Subdirectories in %{_libdir} are for shared libraries that are not intended for use by other programs. For example, gstreamer plugins that are only loaded by gstreamer are installed to their own subdirectory in ${_libdir}. Generally, plugin libraries are loaded by a program at runtime. If libraries are installed into a subdirectory but still need to be on tye system library search path, an entry in /etc/ld.so.conf.d/ may be created to add a subdirectory to the ld search path. If a program installs libraries to /usr/lib/foo, it may create /etc/ld.so.conf.d/foo.conf containing the line /usr/lib/foo.