Package: dpkg-dev
Version: 1.14.16.6
Severity: minor
Tags: patch

The deb-shlibs(5) manpage is brief and not very helpful.  I had to read
through the source to dpkg-shlibdeps to figure out that yes, there was a
comment syntax for these files.

I attach a suggested revision.  It still defers to the Policy Manual for
most of the details, but it clarifies the basic syntax and provides an
example.

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dpkg-dev depends on:
ii  binutils            2.18.1~cvs20080103-1 The GNU assembler, linker and bina
ii  bzip2               1.0.4-3              high-quality block-sorting file co
ii  cpio                2.9-11               GNU cpio -- a program to manage ar
ii  dpkg                1.14.16.6            package maintenance system for Deb
ii  libtimedate-perl    1.1600-9             Time and date functions for Perl
ii  lzma                4.43-12              Compression method of 7z format in
ii  make                3.81-3               The GNU version of the "make" util
ii  patch               2.5.9-4              Apply a diff file to an original
ii  perl [perl5]        5.8.8-12             Larry Wall's Practical Extraction 
ii  perl-modules        5.8.8-12             Core Perl modules

Versions of packages dpkg-dev recommends:
ii  build-essential           11.3           informational list of build-essent
ii  gcc [c-compiler]          4:4.2.2-2      The GNU C compiler
ii  gcc-3.4 [c-compiler]      3.4.6-6        The GNU C compiler
ii  gcc-4.2 [c-compiler]      4.2.3-1        The GNU C compiler
ii  gcc-4.3 [c-compiler]      4.3-20080202-1 The GNU C compiler

-- no debconf information
--- deb-shlibs.5.orig   2008-02-16 14:39:31.000000000 -0500
+++ deb-shlibs.5        2008-02-16 14:36:46.000000000 -0500
@@ -17,14 +17,57 @@
 .SH NAME
 deb\-shlibs \- Debian shared library information file
 .
-.SH SYNOPSIS
-shlibs
-.
 .SH DESCRIPTION
-The format for a shared library dependency information entry in these
-files is (see the Debian Policy Manual for details):
 .PP
-<library name>        <version/soname>        <dependencies>
+.B shlibs
+files map shared library names and versions
+.RI ( sonames )
+to dependencies suitable for a package control file.  There is one
+entry per line. Blank lines are 
+.I not
+allowed.  Lines beginning with an
+.I #
+character are considered commentary, and are ignored.  All other lines
+must have the format
+.IP
+.RI [ tag: ]
+.I library
+.I version
+.I dependencies
+.PP
+The
+.I library
+and
+.I version
+fields are whitespace-delimited, but the
+.I dependencies
+field extends to the end of the line.  The
+.I tag
+field is optional and normally not needed.
+.PP
+See the Debian Policy Manual for further details.
+.
+.SH EXAMPLES
+.PP
+The
+.B shlibs
+file for a typical library package, named 
+.IR libcrunch1 ,
+that provides one library whose soname is
+.IR libcrunch.so.1 ,
+might read
+.IP
+libcrunch 1 libcrunch1 (>= 1.2-1)
+.PP
+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
+.IR libcrunch .
+This is not the only reason the dependencies might need to be
+tightened; again, see the Debian Policy Manual for details.
 .
 .SH SEE ALSO
-.BR dpkg\-shlibdeps (1).
+.BR dpkg\-shlibdeps (1),
+.BR deb\-symbols (5).

Reply via email to