No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
This can be added to the Shared Libraries section of the [[Packaging/Guidelines#Shared_Libraries| Packaging Guidelines]], perhaps as a subsection called "Packaging Shared Libraries" | This can be added to the Shared Libraries section of the [[Packaging/Guidelines#Shared_Libraries| Packaging Guidelines]], perhaps as a subsection called "Packaging Shared Libraries" | ||
==Packaging Shared Libraries == | === 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:43, 6 January 2010
This can be added to the Shared Libraries section of the Packaging Guidelines, perhaps as a subsection called "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.