Commit | Line | Data |
---|---|---|
1479465f GJ |
1 | .\" dpkg manual page - deb-symbols(5) |
2 | .\" | |
3 | .\" Copyright © 2007-2012 Raphaël Hertzog <hertzog@debian.org> | |
4 | .\" Copyright © 2011, 2013-2015 Guillem Jover <guillem@debian.org> | |
5 | .\" | |
6 | .\" This is free software; you can redistribute it and/or modify | |
7 | .\" it under the terms of the GNU General Public License as published by | |
8 | .\" the Free Software Foundation; either version 2 of the License, or | |
9 | .\" (at your option) any later version. | |
10 | .\" | |
11 | .\" This is distributed in the hope that it will be useful, | |
12 | .\" but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | .\" GNU General Public License for more details. | |
15 | .\" | |
16 | .\" You should have received a copy of the GNU General Public License | |
17 | .\" along with this program. If not, see <https://www.gnu.org/licenses/>. | |
18 | . | |
19 | .TH deb\-symbols 5 "%RELEASE_DATE%" "%VERSION%" "dpkg suite" | |
20 | .nh | |
21 | .SH NAME | |
22 | deb\-symbols \- Debian's extended shared library information file | |
23 | . | |
24 | .SH SYNOPSIS | |
25 | symbols | |
26 | . | |
27 | .SH DESCRIPTION | |
28 | The symbol files are shipped in Debian binary packages, and its format | |
29 | is a subset of the template symbol files used by \fBdpkg\-gensymbols\fP(1) | |
30 | in Debian source packages. | |
31 | .P | |
32 | The format for an extended shared library dependency information entry | |
33 | in these files is: | |
34 | .PP | |
35 | .I library-soname main-dependency-template | |
36 | .br | |
37 | [| \fIalternative-dependency-template\fP] | |
38 | .br | |
39 | [...] | |
40 | .br | |
41 | [* \fIfield-name\fP: \fIfield-value\fP] | |
42 | .br | |
43 | [...] | |
44 | \fIsymbol\fP \fIminimal-version\fP [\fIid-of-dependency-template\fP] | |
45 | .P | |
46 | The \fIlibrary-soname\fR is exactly the value of the SONAME field | |
47 | as exported by \fBobjdump\fR(1). A \fIdependency-template\fR is a | |
48 | dependency where \fI#MINVER#\fR is dynamically replaced either by | |
49 | a version check like “(>= \fIminimal-version\fR)” or by nothing (if | |
50 | an unversioned dependency is deemed sufficient). | |
51 | .P | |
52 | Each exported \fIsymbol\fR (listed as \fIname\fR@\fIversion\fR, with | |
53 | \fIversion\fR being “Base” if the library is not versioned) is associated | |
54 | to a \fIminimal-version\fR of its dependency template (the main dependency | |
55 | template is always used and will end up being combined with the dependency | |
56 | template referenced by \fIid-of-dependency-template\fR if present). The | |
57 | first alternative dependency template is numbered 1, the second one 2, | |
58 | etc. | |
59 | .P | |
60 | Each entry for a library can also have some fields of meta-information. | |
61 | Those fields are stored on lines starting with an asterisk. Currently, | |
62 | the only valid fields are: | |
63 | .TP | |
64 | .B Build\-Depends\-Package | |
65 | It indicates the name of the “\-dev” package associated to the library | |
66 | and is used by \fBdpkg\-shlibdeps\fP to make sure that the dependency | |
67 | generated is at least as strict as the corresponding build dependency | |
68 | (since dpkg 1.14.13). | |
69 | .TP | |
70 | .B Ignore\-Blacklist\-Groups | |
71 | It indicates what blacklist groups should be ignored, as a whitespace | |
72 | separated list, so that the symbols contained in those groups get | |
73 | included in the output file (since dpkg 1.17.6). | |
74 | This should only be necessary for toolchain | |
75 | packages providing those blacklisted symbols. The available groups are | |
76 | system dependent, for ELF and GNU-based systems these are \fBaeabi\fP | |
77 | and \fBgomp\fP. | |
78 | .SH EXAMPLES | |
79 | .SS Simple symbols file | |
80 | .PP | |
81 | libftp.so.3 libftp3 #MINVER# | |
82 | DefaultNetbuf@Base 3.1-1-6 | |
83 | FtpAccess@Base 3.1-1-6 | |
84 | [...] | |
85 | .SS Advanced symbols file | |
86 | .PP | |
87 | libGL.so.1 libgl1 | |
88 | .br | |
89 | | libgl1\-mesa\-glx #MINVER# | |
90 | .br | |
91 | * Build\-Depends\-Package: libgl1\-mesa\-dev | |
92 | publicGlSymbol@Base 6.3-1 | |
93 | [...] | |
94 | implementationSpecificSymbol@Base 6.5.2-7 1 | |
95 | [...] | |
96 | .SH SEE ALSO | |
97 | .BR https://wiki.debian.org/Projects/ImprovedDpkgShlibdeps | |
98 | .br | |
99 | .BR dpkg\-shlibdeps (1), | |
100 | .BR dpkg\-gensymbols (1). |