I just uploaded a beta-version of dpkg-scanlibs to
http://people.debian.org/~wakkerma/ . This is the python rewrite
of dpkg-shlibdeps and will replace it once I'm sure it works properly.
Besides the fact that this code is actually commented and readable,
the major changes in functionality are:
* properly checks for conflicting libraries. This fixed the libc5/libc6
problems we had, as well as similar problems for all other libraries.
This should also catch stupid linking problems.
* no more ldd: since we have proper logic for checking conflicting
libraries we no longer need ldd to figure it out for us. This
also means that things should work fine on the HURD now, as
well as OpenBSD and HP-UX.
* Internally caches all its data, which should make it a lot faster if
you scan more binaries in one run.
* Will try to use dlocate instead of dpkg -S for extra speedups
* Will complain if a package contains a library that is used but does
not have a shlibs file for it. This already found a bug:
[tornado;~/sources/work/dpkg2/scripts]-70> ./dpkg-scanlibs.py /usr/bin/top
Package procps contains libproc.so.2.0.7 but has no shlibs entry for it
* Scans debian/* to hunt for package containing libraries which can
be used as well. Since we don't use ldd anymore you will no longer
need to set LD_LIBRARY_PATH to use those libraries.
The current version hasn't been properly tested yet; I would appreciate
feedback on problems it has. Please don't complain about nasty-looking
errors from the script, I haven't put in all the exception handlers
to turn those into user-friendly messages.
/ Nothing is fool-proof to a sufficiently talented fool \
| firstname.lastname@example.org http://www.liacs.nl/~wichert/ |
| 1024D/2FA3BC2D 576E 100B 518D 2F16 36B0 2805 3CB8 9250 2FA3 BC2D |