On Thu, Jul 1, 2010 at 12:15:38 -0700, Russ Allbery wrote: > diff --git a/policy.sgml b/policy.sgml > index 1e641e6..9a72be5 100644 > --- a/policy.sgml > +++ b/policy.sgml > @@ -5470,8 +5470,13 @@ Replaces: mail-transport-agent > <p><file>debian/shlibs.local</file></p> > > <p> > - This lists overrides for this package. Its use is > - described below (see <ref id="shlibslocal">). > + This lists overrides for this package. This file should > + normally not be used, but may be needed temporarily in > + unusual situations to work around bugs in other packages, > + or in unusual cases where the normally declared dependency > + information in the installed <file>shlibs</file> file for > + a library cannot be used. The contents of this file > + override information obtained from any other source. > </p> > </item> > > @@ -5577,13 +5582,6 @@ dpkg-shlibdeps debian/tmp/usr/bin/* > debian/tmp/usr/sbin/* \ > </p> > > <p> > - If <prgn>dpkg-shlibdeps</prgn> doesn't complain, you're > - done. If it does complain you might need to create your own > - <file>debian/shlibs.local</file> file, as explained below (see > - <ref id="shlibslocal">). > - </p> > - > - <p> > If you have multiple binary packages, you will need to call > <prgn>dpkg-shlibdeps</prgn> on each one which contains > compiled libraries or binaries. In such a case, you will > @@ -5730,74 +5728,7 @@ install -m644 debian/shlibs.<var>package</var> > debian/<var>package</var>/DEBIAN/ > packages. > </p> > </sect1> > - > - <sect1 id="shlibslocal"> > - <heading>Writing the <file>debian/shlibs.local</file> file</heading> > - > - <p> > - This file is intended only as a <em>temporary</em> fix if > - your binaries or libraries depend on a library whose package > - does not yet provide a correct <file>shlibs</file> file. > - </p> > - > - <p> > - We will assume that you are trying to package a binary > - <tt>foo</tt>. When you try running > - <prgn>dpkg-shlibdeps</prgn> you get the following error > - message (<tt>-O</tt> displays the dependency information on > - <tt>stdout</tt> instead of writing it to > - <tt>debian/substvars</tt>, and the lines have been wrapped > - for ease of reading): > - <example compact="compact"> > -$ dpkg-shlibdeps -O debian/tmp/usr/bin/foo > -dpkg-shlibdeps: warning: unable to find dependency > - information for shared library libbar (soname 1, > - path /usr/lib/libbar.so.1, dependency field Depends) > -shlibs:Depends=libc6 (>= 2.2.2-2) > - </example> > - You can then run <prgn>ldd</prgn> on the binary to find the > - full location of the library concerned: > - <example compact="compact"> > -$ ldd foo > -libbar.so.1 => /usr/lib/libbar.so.1 (0x4001e000) > -libc.so.6 => /lib/libc.so.6 (0x40032000) > -/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) > - </example> > - So the <prgn>foo</prgn> binary depends on the > - <prgn>libbar</prgn> shared library, but no package seems to > - provide a <file>*.shlibs</file> file handling > - <file>libbar.so.1</file> in <file>/var/lib/dpkg/info/</file>. Let's > - determine the package responsible: > - <example compact="compact"> > -$ dpkg -S /usr/lib/libbar.so.1 > -bar1: /usr/lib/libbar.so.1 > -$ dpkg -s bar1 | grep Version > -Version: 1.0-1 > - </example> > - This tells us that the <tt>bar1</tt> package, version 1.0-1, > - is the one we are using. Now we can file a bug against the > - <tt>bar1</tt> package and create our own > - <file>debian/shlibs.local</file> to locally fix the problem. > - Including the following line into your > - <file>debian/shlibs.local</file> file: > - <example compact="compact"> > -libbar 1 bar1 (>= 1.0-1) > - </example> > - should allow the package build to work. > - </p> > - > - <p> > - As soon as the maintainer of <tt>bar1</tt> provides a > - correct <file>shlibs</file> file, you should remove this line > - from your <file>debian/shlibs.local</file> file. (You should > - probably also then have a versioned <tt>Build-Depends</tt> > - on <tt>bar1</tt> to help ensure that others do not have the > - same problem building your package.) > - </p> > - </sect1> > - > </sect> > - > </chapt> > Hey, it makes policy shorter. Love it :)
Seconded. Cheers, Julien
signature.asc
Description: Digital signature