man-pages/man5/deb-symbols.5.html
2021-03-31 01:06:50 +01:00

146 lines
4.4 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of deb-symbols</TITLE>
</HEAD><BODY>
<H1>deb-symbols</H1>
Section: dpkg suite (5)<BR>Updated: 2020-03-23<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
deb-symbols - Debian's extended shared library information file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
symbols
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
The symbol files are shipped in Debian binary packages, and its format
is a subset of the template symbol files used by <B><A HREF="/cgi-bin/man/man2html?1+dpkg-gensymbols">dpkg-gensymbols</A></B>(1)
in Debian source packages.
<P>
The format for an extended shared library dependency information entry
in these files is:
<P>
<I>library-soname main-dependency-template</I>
<BR>
[| <I>alternative-dependency-template</I>]
<BR>
[...]
<BR>
[* <I>field-name</I>: <I>field-value</I>]
<BR>
[...]
<BR>&nbsp;<I>symbol</I>&nbsp;<I>minimal-version</I>&nbsp;[<I>id-of-dependency-template</I>]
<P>
The <I>library-soname</I> is exactly the value of the SONAME field
as exported by <B><A HREF="/cgi-bin/man/man2html?1+objdump">objdump</A></B>(1). A <I>dependency-template</I> is a
dependency where <I>#MINVER#</I> is dynamically replaced either by
a version check like "(&gt;= <I>minimal-version</I>)" or by nothing (if
an unversioned dependency is deemed sufficient).
<P>
Each exported <I>symbol</I> (listed as <I>name</I>@<I>version</I>, with
<I>version</I> being "Base" if the library is not versioned) is associated
to a <I>minimal-version</I> of its dependency template (the main dependency
template is always used and will end up being combined with the dependency
template referenced by <I>id-of-dependency-template</I> 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:
<DL COMPACT>
<DT id="1"><B>Build-Depends-Package</B>
<DD>
It indicates the name of the "-dev" package associated to the library
and is used by <B>dpkg-shlibdeps</B> to make sure that the dependency
generated is at least as strict as the corresponding build dependency
(since dpkg 1.14.13).
<DT id="2"><B>Ignore-Blacklist-Groups</B>
<DD>
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 <B>aeabi</B>
and <B>gomp</B>.
</DL>
<A NAME="lbAE">&nbsp;</A>
<H2>EXAMPLES</H2>
<A NAME="lbAF">&nbsp;</A>
<H3>Simple symbols file</H3>
<P>
lib<A HREF="ftp://ftp.so.3">ftp.so.3</A> libftp3 #MINVER#
<BR>&nbsp;<A HREF="mailto:DefaultNetbuf@Base">DefaultNetbuf@Base</A>&nbsp;3.1-1-6
<BR>&nbsp;<A HREF="mailto:FtpAccess@Base">FtpAccess@Base</A>&nbsp;3.1-1-6
<BR>&nbsp;[...]
<A NAME="lbAG">&nbsp;</A>
<H3>Advanced symbols file</H3>
<P>
libGL.so.1 libgl1
<BR>
| libgl1-mesa-glx #MINVER#
<BR>
* Build-Depends-Package: libgl1-mesa-dev
<BR>&nbsp;<A HREF="mailto:publicGlSymbol@Base">publicGlSymbol@Base</A>&nbsp;6.3-1
<BR>&nbsp;[...]
<BR>&nbsp;<A HREF="mailto:implementationSpecificSymbol@Base">implementationSpecificSymbol@Base</A>&nbsp;6.5.2-7&nbsp;1
<BR>&nbsp;[...]
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<B><A HREF="https://wiki.debian.org/Projects/ImprovedDpkgShlibdeps">https://wiki.debian.org/Projects/ImprovedDpkgShlibdeps</A></B>
<BR>
<B><A HREF="/cgi-bin/man/man2html?1+dpkg-shlibdeps">dpkg-shlibdeps</A></B>(1),
<B><A HREF="/cgi-bin/man/man2html?1+dpkg-gensymbols">dpkg-gensymbols</A></B>(1).
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="3"><A HREF="#lbAB">NAME</A><DD>
<DT id="4"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="5"><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT id="6"><A HREF="#lbAE">EXAMPLES</A><DD>
<DL>
<DT id="7"><A HREF="#lbAF">Simple symbols file</A><DD>
<DT id="8"><A HREF="#lbAG">Advanced symbols file</A><DD>
</DL>
<DT id="9"><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:06:03 GMT, March 31, 2021
</BODY>
</HTML>