Now, with colors : #!/bin/sh
TOP_COLOR=greenyellow BOTTOM_COLOR=firebrick echo "digraph pkg_dep" echo "{" for PKG in $(pkg_info | cut -d' ' -f1) ; do PKG_INFO=$(pkg_info -c $PKG | tail -n+4 | tr -s '\n') echo "\t\"$PKG\" [label=\"$PKG\\\n$PKG_INFO\"];" REQ_BY="" for REQ_BY in $(pkg_info -R $PKG | tail -n+4 | tr -s '\n') ; do echo "\t\"$REQ_BY\" -> \"$PKG\";" done REQ=$(pkg_info -f $PKG | grep '@depend' | cut -d' ' -f2 | cut -d':' -f3) if [ -z "$REQ_BY" ] ; then echo "\t\"$PKG\" [color=\"$TOP_COLOR\", style=\"filled\"];" elif [ -z "$REQ" ] ; then echo "\t\"$PKG\" [color=\"$BOTTOM_COLOR\", style=\"filled\"];" fi done echo "}" 2006/10/8, Bruno Carnazzi <[EMAIL PROTECTED]>:
First blood : #!/bin/sh echo "digraph pkg_dep" echo "{" for PKG in $(pkg_info | cut -d' ' -f1) do PKG_INFO=$(pkg_info -c $PKG | tail -n+4 | tr -s '\n') echo "\t\"$PKG\" [label=\"$PKG\\\n$PKG_INFO\"];" for REQ_BY in $(pkg_info -R $PKG | tail -n+4 | tr -s '\n') do echo "\t\"$REQ_BY\" -> \"$PKG\";" done done echo "}" But for my big packages set, it does not produce a beautiful graph. Someone know how to beautify it ? Thank you, Bruno. Attached, my generated dot file (gosh ! gdm is really a pig !) :
[SNIP]
2006/10/7, Matthias Kilian <[EMAIL PROTECTED]>: > On Sat, Oct 07, 2006 at 10:32:21PM +0400, Bruno Carnazzi wrote: > > Someone knows if this kind of stuff already exists ? > > I just found this one (old, untested, and after all *not* supported, > since it seems to directly access /var/db/pkg): > > http://vgai.de/gpkgview.sh > > Ciao, > Kili