# dpkg manual page - deb-shlibs(5)
#
# Copyright © 1996 Michael Shields <shields@crosslink.net>
# Copyright © 2008 Zack Weinberg <zackw@panix.com>
#
# 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-shlibs - Debian shared library information file

=head1 SYNOPSIS

B<debian/shlibs>, B<debian/>I<binary-name>B<.shlibs>, B<DEBIAN/shlibs>

=head1 DESCRIPTION

B<shlibs>
files map shared library names and versions
(I<SONAMEs>)
to dependencies suitable for a package control file.  There is one
entry per line. Blank lines are B<not> allowed.  Lines beginning
with a B<#> character are considered commentary, and are ignored.
All other lines must have the format:

=over

[I<type>B<:>]
I<library>
I<version>
I<dependencies>

=back

The I<library> and I<version> fields are whitespace-delimited,
but the I<dependencies> field extends to the end of the line.  The
I<type> field is optional and normally not needed.

The I<dependencies> field has the same syntax as the B<Depends>
field in a binary control file, see B<deb-control>(5).

=head1 SONAME FORMATS

The SONAME formats supported are:

=over

I<name>.so.I<version>

=back

and

=over

I<name>-I<version>.so

=back

where I<name> is usually prefixed by B<lib>.

=head1 EXAMPLES

The
B<shlibs>
file for a typical library package, named
I<libcrunch1>,
that provides one library whose SONAME is
I<libcrunch.so.1>,
might read

=over

 libcrunch 1 libcrunch1 (>= 1.2-1)

=back

The I<dependencies>
must mention the most recent version of the package that added new
symbols to the library: in the above example, new symbols were added to
version 1.2 of
I<libcrunch>.
This is not the only reason the dependencies might need to be
tightened.

=head1 SEE ALSO

B<deb-control>(5),
B<dpkg-shlibdeps>(1),
B<deb-symbols>(5).
