127 lines
4 KiB
Text
127 lines
4 KiB
Text
# 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/>.
|
|
|
|
=encoding utf8
|
|
|
|
=head1 NAME
|
|
|
|
deb-symbols - Debian's extended shared library information file
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
B<DEBIAN/symbols>
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
The symbol files are shipped in Debian binary packages, and its format
|
|
is a subset of the template symbol files used by L<dpkg-gensymbols(1)>
|
|
in Debian source packages, see L<deb-src-symbols(5)>.
|
|
|
|
The format for an extended shared library dependency information entry
|
|
in these files is:
|
|
|
|
Z<>
|
|
I<library-soname> I<main-dependency-template>
|
|
[| I<alternative-dependency-template>]
|
|
[...]
|
|
[* I<field-name>: I<field-value>]
|
|
[...]
|
|
I<symbol> I<minimal-version> [I<id-of-dependency-template>]
|
|
|
|
The I<library-soname> is exactly the value of the SONAME field
|
|
as exported by L<objdump(1)>.
|
|
A I<dependency-template> is a
|
|
dependency where I<#MINVER#> is dynamically replaced either by
|
|
a version check like “(E<gt>= I<minimal-version>)” or by nothing (if
|
|
an unversioned dependency is deemed sufficient).
|
|
|
|
Each exported I<symbol> (listed as I<name>@I<version>, with
|
|
I<version> being “Base” if the library is not versioned) is associated
|
|
to a I<minimal-version> 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> if present).
|
|
The
|
|
first alternative dependency template is numbered 1, the second one 2,
|
|
etc.
|
|
Each column is separated by exactly a single whitespace.
|
|
|
|
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:
|
|
|
|
=over
|
|
|
|
=item B<Build-Depends-Package>
|
|
|
|
It indicates the name of the “-dev” package associated to the library
|
|
and is used by B<dpkg-shlibdeps> to make sure that the dependency
|
|
generated is at least as strict as the corresponding build dependency
|
|
(since dpkg 1.14.13).
|
|
|
|
=item B<Build-Depends-Packages>
|
|
|
|
The same as B<Build-Depends-Package> but accepts a comma-separated
|
|
list of package names (since dpkg 1.20.0).
|
|
This field will override any B<Build-Depends-Package> field present,
|
|
and is mostly useful with “-dev” packages and metapackages depending
|
|
on these, say for a transition period.
|
|
|
|
=item B<Allow-Internal-Symbol-Groups>
|
|
|
|
It indicates what internal symbol 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.20.1).
|
|
This should only be necessary for toolchain
|
|
packages providing those internal symbols.
|
|
The available groups are
|
|
system dependent, for ELF and GNU-based systems these are B<aeabi>
|
|
and B<gomp>.
|
|
|
|
=item B<Ignore-Blacklist-Groups>
|
|
|
|
A deprecated alias for B<Allow-Internal-Symbol-Groups> (since dpkg 1.20.1,
|
|
supported since dpkg 1.17.6).
|
|
|
|
=back
|
|
|
|
=head1 EXAMPLES
|
|
|
|
=head2 Simple symbols file
|
|
|
|
libftp.so.3 libftp3 #MINVER#
|
|
DefaultNetbuf@Base 3.1-1-6
|
|
FtpAccess@Base 3.1-1-6
|
|
[...]
|
|
|
|
=head2 Advanced symbols file
|
|
|
|
libGL.so.1 libgl1
|
|
| libgl1-mesa-glx #MINVER#
|
|
* Build-Depends-Package: libgl1-mesa-dev
|
|
publicGlSymbol@Base 6.3-1
|
|
[...]
|
|
implementationSpecificSymbol@Base 6.5.2-7 1
|
|
[...]
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<https://wiki.debian.org/Projects/ImprovedDpkgShlibdeps>,
|
|
L<deb-src-symbols(5)>,
|
|
L<dpkg-shlibdeps(1)>,
|
|
L<dpkg-gensymbols(1)>.
|