On Nov 08 09:50:19, Jan Stary wrote: > On Nov 07 19:21:07, srikant....@gmail.com wrote: > > Jan Stary wrote: > > > cat /var/db/pkg/$PACKAGE/+REQUIRING | xargs pkg_info -s > > > > Thats just the first level of dependencies. What about the > > dependencies of the dependencies, and so on? It is a tree > > structure. Recursion is needed if you want to know the > > 'real collateral damage' :) > > Ah, recursively. Sorry. > > > #!/bin/sh > > test $# -gt 0 || { > echo usage: $0 package >&2 > exit 1 > } > > pkg=`pkg_info -I $1 2>/dev/null | awk '{print$1}'` > test -n "$pkg" || { > echo package $1 not recognized >&2 > exit 1 > } > > dir=/var/db/pkg/$pkg > test -d "$dir" || { > echo $dir does not exist >&2 > exit 1 > } > > { > echo $pkg > cat $dir/+REQUIRING 2>/dev/null | xargs -r -n1 $0 > } | sort -u > > > This lists the dependencies recursively > - just pipe the output through 'pkg_info -s'. > (Damn, I like the "| xargs $0" bit a lot.) > > Am I reading pkg_info(1) wrong, or is there really > not a trivial way to list the recursive dependencies > of a given package (the opposite of -R) in pkg_info > itself?
No really, what is the right way to recursively list the dependencies of a given package? pkg_info doesn't seem to do that natively (and the above attempt only works for installed packages indeed). Is that a design decision, say becuase of ambiguous dependencies? Jan