From: Russ Allbery
Date: Thu, 1 Jul 2010 19:15:46 +0000 (-0700)
Subject: Remove obsolete shlibs.local information
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=7151da8b64dcc416986598e203c8b7c080789d7a;p=debian%2Fdebian-policy.git
Remove obsolete shlibs.local information
Remove the instructions for how to create shlibs.local files and the
encouragement to do so if one runs into errors with dpkg-shlibdeps, since
the archive coverage for shlibs is now complete and writing a shlibs.local
file is unlikely to be an appropriate solution to one's problem.
---
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
debian/shlibs.local
- This lists overrides for this package. Its use is
- described below (see [).
+ 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 shlibs file for
+ a library cannot be used. The contents of this file
+ override information obtained from any other source.
]
@@ -5576,13 +5581,6 @@ dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \
field in the control file for this to work.
-
- If dpkg-shlibdeps doesn't complain, you're
- done. If it does complain you might need to create your own
- debian/shlibs.local file, as explained below (see
- [).
- ]
-
If you have multiple binary packages, you will need to call
dpkg-shlibdeps on each one which contains
@@ -5730,74 +5728,7 @@ install -m644 debian/shlibs.package debian/package/DEBIAN/
packages.
-
-
- Writing the debian/shlibs.local file
-
-
- This file is intended only as a temporary fix if
- your binaries or libraries depend on a library whose package
- does not yet provide a correct shlibs file.
-
-
-
- We will assume that you are trying to package a binary
- foo. When you try running
- dpkg-shlibdeps you get the following error
- message (-O displays the dependency information on
- stdout instead of writing it to
- debian/substvars, and the lines have been wrapped
- for ease of reading):
-
-$ 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)
-
- You can then run ldd on the binary to find the
- full location of the library concerned:
-
-$ 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)
-
- So the foo binary depends on the
- libbar shared library, but no package seems to
- provide a *.shlibs file handling
- libbar.so.1 in /var/lib/dpkg/info/. Let's
- determine the package responsible:
-
-$ dpkg -S /usr/lib/libbar.so.1
-bar1: /usr/lib/libbar.so.1
-$ dpkg -s bar1 | grep Version
-Version: 1.0-1
-
- This tells us that the bar1 package, version 1.0-1,
- is the one we are using. Now we can file a bug against the
- bar1 package and create our own
- debian/shlibs.local to locally fix the problem.
- Including the following line into your
- debian/shlibs.local file:
-
-libbar 1 bar1 (>= 1.0-1)
-
- should allow the package build to work.
-
-
-
- As soon as the maintainer of bar1 provides a
- correct shlibs file, you should remove this line
- from your debian/shlibs.local file. (You should
- probably also then have a versioned Build-Depends
- on bar1 to help ensure that others do not have the
- same problem building your package.)
-
-
-
-