summaryrefslogtreecommitdiff
path: root/man/deb-symbols.5
blob: 5d9ea0f6e5d4be56fed5209d0af03efd97cd56bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
.\" dpkg manual page - deb-symbols(5)
.\"
.\" Copyright © 2007-2012 Raphaël Hertzog <hertzog@debian.org>
.\"
.\" This is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program.  If not, see <http://www.gnu.org/licenses/>.
.
.TH deb\-symbols 5 "2011-08-14" "Debian Project" "dpkg utilities"
.SH NAME
deb\-symbols \- Debian's extended shared library information file
.
.SH SYNOPSIS
symbols
.
.SH DESCRIPTION
The format for an extended shared library dependency information entry
in these files is:
.PP
.I library-soname main-dependency-template
.br
[| \fIalternative-dependency-template\fP]
.br
[...]
.br
[* \fIfield-name\fP: \fIfield-value\fP]
.br
[...]
 \fIsymbol\fP \fIminimal-version\fP [\fIid-of-dependency-template\fP]
.P
The \fIlibrary-soname\fR is exactly the value of the SONAME field
as exported by \fBobjdump\fR(1). A \fIdependency-template\fR is a
dependency where \fI#MINVER#\fR is dynamically replaced either by
a version check like "(>= \fIminimal-version\fR)" or by nothing (if
an unversioned dependency is deemed sufficient). 
.P
Each exported \fIsymbol\fR (listed as \fIname\fR@\fIversion\fR, with
\fIversion\fR being "Base" if the library is not versioned) is associated
to a \fIminimal-version\fR of its dependency template (the main dependency
template is used if \fIid-of-dependency-template\fR is not present). The
first alternative dependency template is numbered 1, the second one 2,
etc.
.P
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 \fIBuild\-Depends\-Package\fR, it indicates the name
of the "\-dev" package associated to the library and is used by
\fBdpkg\-shlibdeps\fP to make sure that the dependency generated is at least as
strict as the corresponding build dependency.
.SH EXAMPLES
.SS Simple symbols file
.PP 
libftp.so.3 libftp3 #MINVER#
 DefaultNetbuf@Base 3.1-1-6
 FtpAccess@Base 3.1-1-6
 [...]
.SS Advanced symbols file
.PP 
libGL.so.1 libgl1
.br
| libgl1\-mesa\-glx #MINVER#
.br
* Build\-Depends\-Package: libgl1\-mesa\-dev
 publicGlSymbol@Base 6.3-1
 [...]
 implementationSpecificSymbol@Base 6.5.2-7 1
 [...]
.SH SEE ALSO
.BR http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps
.br
.BR dpkg\-shlibdeps (1),
.BR dpkg\-gensymbols (1).