Re: Speaking of trivial tools
- From: Kris Kennaway <kris@xxxxxxxxxxxxxx>
- Date: Wed, 30 Aug 2006 23:22:27 -0400
On Mon, Aug 28, 2006 at 09:01:13PM -0400, Mike Meyer wrote:
I realized today that this one was possible. I suspect it would be
useful to lots of people working on ports, as well as for the sysadmin
stuff I do with it. I'm just not sure where it should goes.
-------------------- checkdeps.sh
#!/bin/sh
TMPFILE=/tmp/checkdeps.$$
pkg_info -r $1 | sed -n 's/Dependency: //p' | sort -u > $TMPFILE
ldd $(pkg_info -L $1) 2>/dev/null | \
sed -e '/^\//d' -e 's/.*=> //' -e 's/(.*)//' | \
sort -u | \
xargs -n 1 pkg_info -W | \
sed 's/.* //' | \
grep -v $1 | \
sort -u | \
comm -23 - $TMPFILE
rm $TMPFILE
--------------------
Hand it a package name as an argument, and it'll print out the names
of any packages providing libraries used by binaries in the package
given as an argument that aren't listed as a dependency for that
package. I fed it my complete list of packages, and it turned up some
interesting things - like a package that had a dependency on a newer
version of itself(!).
This is just a QAD hack. It certainly got a lot of rough edges yet.
See also the sysutils/libchk port. It's also great for finding stale
leftover files from e.g. earlier versions of the port that had a
broken pkg-plist, ports that were not updated correctly, etc.
Kris
Attachment:
pgpJ1I5qrxx5U.pgp
Description: PGP signature
- References:
- Speaking of trivial tools
- From: Mike Meyer
- Speaking of trivial tools
- Prev by Date: Re: pam_krb5 problems
- Next by Date: Another SimpleDrive problem also...
- Previous by thread: Speaking of trivial tools
- Next by thread: Hard disk going-bad detection
- Index(es):
Relevant Pages
|
|