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