deb-symbols (5)
NAME
deb-symbols - Debian's extended shared library information fileSYNOPSIS
symbolsDESCRIPTION
The format for an extended shared library dependency information entry in these files is:
library-soname main-dependency-template
[| alternative-dependency-template]
[...]
[* field-name: field-value]
[...]
symbol minimal-version [id-of-dependency-template]
The library-soname is exactly the value of the SONAME field as exported by objdump(1). A dependency-template is a dependency where #MINVER# is dynamically replaced either by a version check like "(>= minimal-version)" or by nothing (if an unversioned dependency is deemed sufficient).
Each exported symbol (listed as name@version, with version being "Base" if the library is not versioned) is associated to a minimal-version of its dependency template (the main dependency template is used if id-of-dependency-template is not present). The first alternative dependency template is numbered 1, the second one 2, etc.
Each entry for a library can also have some fields of meta-information. Those fields are stored on lines starting with an asterisk. Currently, the only valid field is Build-Depends-Package, it indicates the name of the "-dev" package associated to the library and is used by dpkg-shlibdeps to make sure that the dependency generated is at least as strict as the corresponding build dependency.
EXAMPLES
Simple symbols file
libftp.so.3 libftp3 #MINVER#
DefaultNetbuf@Base 3.1-1-6
FtpAccess@Base 3.1-1-6
[...]
Advanced symbols file
libGL.so.1 libgl1
| libgl1-mesa-glx #MINVER#
* Build-Depends-Package: libgl1-mesa-dev
publicGlSymbol@Base 6.3-1
[...]
implementationSpecificSymbol@Base 6.5.2-7 1
[...]
SEE ALSO
https://wiki.debian.org/Projects/ImprovedDpkgShlibdepsdpkg-shlibdeps(1), dpkg-gensymbols(1).