1deb-symbols(5)                    dpkg suite                    deb-symbols(5)
2
3
4

NAME

6       deb-symbols - Debian's extended shared library information file
7

SYNOPSIS

9       DEBIAN/symbols
10

DESCRIPTION

12       The symbol files are shipped in Debian binary packages, and its format
13       is a subset of the template symbol files used by dpkg-gensymbols(1) in
14       Debian source packages, see deb-src-symbols(5).
15
16       The format for an extended shared library dependency information entry
17       in these files is:
18
19        library-soname main-dependency-template
20        [| alternative-dependency-template]
21        [...]
22        [* field-name: field-value]
23        [...]
24         symbol minimal-version [id-of-dependency-template]
25
26       The library-soname is exactly the value of the SONAME field as exported
27       by objdump(1). A dependency-template is a dependency where #MINVER# is
28       dynamically replaced either by a version check like “(>= minimal-
29       version)” or by nothing (if an unversioned dependency is deemed
30       sufficient).
31
32       Each exported symbol (listed as name@version, with version being “Base”
33       if the library is not versioned) is associated to a minimal-version of
34       its dependency template (the main dependency template is always used
35       and will end up being combined with the dependency template referenced
36       by id-of-dependency-template if present). The first alternative
37       dependency template is numbered 1, the second one 2, etc.  Each column
38       is separated by exactly a single whitespace.
39
40       Each entry for a library can also have some fields of meta-information.
41       Those fields are stored on lines starting with an asterisk. Currently,
42       the only valid fields are:
43
44       Build-Depends-Package
45           It indicates the name of the “-dev” package associated to the
46           library and is used by dpkg-shlibdeps to make sure that the
47           dependency generated is at least as strict as the corresponding
48           build dependency (since dpkg 1.14.13).
49
50       Build-Depends-Packages
51           The same as Build-Depends-Package but accepts a comma-separated
52           list of package names (since dpkg 1.20.0).  This field will
53           override any Build-Depends-Package field present, and is mostly
54           useful with “-dev” packages and metapackages depending on these,
55           say for a transition period.
56
57       Allow-Internal-Symbol-Groups
58           It indicates what internal symbol groups should be ignored, as a
59           whitespace separated list, so that the symbols contained in those
60           groups get included in the output file (since dpkg 1.20.1).  This
61           should only be necessary for toolchain packages providing those
62           internal symbols. The available groups are system dependent, for
63           ELF and GNU-based systems these are aeabi and gomp.
64
65       Ignore-Blacklist-Groups
66           A deprecated alias for Allow-Internal-Symbol-Groups (since dpkg
67           1.20.1, supported since dpkg 1.17.6).
68

EXAMPLES

70   Simple symbols file
71        libftp.so.3 libftp3 #MINVER#
72         DefaultNetbuf@Base 3.1-1-6
73         FtpAccess@Base 3.1-1-6
74         [...]
75
76   Advanced symbols file
77        libGL.so.1 libgl1
78        | libgl1-mesa-glx #MINVER#
79        * Build-Depends-Package: libgl1-mesa-dev
80         publicGlSymbol@Base 6.3-1
81         [...]
82         implementationSpecificSymbol@Base 6.5.2-7 1
83         [...]
84

SEE ALSO

86       <https://wiki.debian.org/Projects/ImprovedDpkgShlibdeps>,
87       deb-src-symbols(5), dpkg-shlibdeps(1), dpkg-gensymbols(1).
88
89
90
911.21.21                           2023-02-25                    deb-symbols(5)
Impressum