Julien Cristau <jcris...@debian.org> (01/07/2010): > 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> > >
M-x follow-julien-mode > Hey, it makes policy shorter. Love it :) Me too (and that reminds me of funny stuff with some shlibs.local files in some X packages :)). > Seconded. Seconded as well. Mraw, KiBi.
signature.asc
Description: Digital signature