(debian-policy.info)Providing a symbols file


Prev: The symbols File Format Up: The symbols system
Enter node , (file) or (file)node

8.6.3.3 Providing a ‘symbols’ file
..................................

If your package provides a shared library, you should arrange to include
a ‘symbols’ control file following the format described above in that
package.  You must include either a ‘symbols’ control file or a ‘shlibs’
control file.

Normally, this is done by creating a ‘symbols’ in the source package
named ‘debian/package.symbols’ or ‘debian/symbols’, possibly with
‘.arch’ appended if the symbols information varies by architecture.
This file may use the extended syntax documented in dpkg-gensymbols(1).
Then, call ‘dpkg-gensymbols’ as part of the package build process.  It
will create ‘symbols’ files in the package staging area based on the
binaries and libraries in the package staging area and the ‘symbols’
files in the source package.  (1)

Packages that provide ‘symbols’ files must keep them up-to-date to
ensure correct dependencies in packages that use the shared libraries.
This means updating the ‘symbols’ file whenever a new public symbol is
added, changing the minimal-version field whenever a symbol changes
behavior or signature in a backward-compatible way (see Note: Shared
library ABI changes.), and changing the library-soname and
main-dependency-template, and probably all of the minimal-version
fields, when the library changes ‘SONAME’.  Removing a public symbol
from the ‘symbols’ file because it’s no longer provided by the library
normally requires changing the ‘SONAME’ of the library.  See Note:
Run-time shared libraries. for more information on ‘SONAME’s.

   ---------- Footnotes ----------

   (1) If you are using ‘debhelper’, ‘dh_makeshlibs’ will take care of
calling either ‘dpkg-gensymbols’ or generating a ‘shlibs’ file as
appropriate.


automatically generated by info2www version 1.2.2.9