diff options
Diffstat (limited to '')
-rw-r--r-- | man/deb-symbols.man | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/man/deb-symbols.man b/man/deb-symbols.man new file mode 100644 index 0000000..ca52b17 --- /dev/null +++ b/man/deb-symbols.man @@ -0,0 +1,100 @@ +.\" dpkg manual page - deb-symbols(5) +.\" +.\" Copyright © 2007-2012 Raphaël Hertzog <hertzog@debian.org> +.\" Copyright © 2011, 2013-2015 Guillem Jover <guillem@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 <https://www.gnu.org/licenses/>. +. +.TH deb\-symbols 5 "%RELEASE_DATE%" "%VERSION%" "dpkg suite" +.nh +.SH NAME +deb\-symbols \- Debian's extended shared library information file +. +.SH SYNOPSIS +symbols +. +.SH DESCRIPTION +The symbol files are shipped in Debian binary packages, and its format +is a subset of the template symbol files used by \fBdpkg\-gensymbols\fP(1) +in Debian source packages. +.P +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 always used and will end up being combined with the dependency +template referenced by \fIid-of-dependency-template\fR if 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 fields are: +.TP +.B Build\-Depends\-Package +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 +(since dpkg 1.14.13). +.TP +.B Ignore\-Blacklist\-Groups +It indicates what blacklist groups should be ignored, as a whitespace +separated list, so that the symbols contained in those groups get +included in the output file (since dpkg 1.17.6). +This should only be necessary for toolchain +packages providing those blacklisted symbols. The available groups are +system dependent, for ELF and GNU-based systems these are \fBaeabi\fP +and \fBgomp\fP. +.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 https://wiki.debian.org/Projects/ImprovedDpkgShlibdeps +.br +.BR dpkg\-shlibdeps (1), +.BR dpkg\-gensymbols (1). |