Funny how working on a program immediately inspires to do more.
Remember that the initial motivation for debtree was to find out why a package was installed? It can now show that in the dependency graphs!
I'm not quite ready to do a new release, but the new version is available from the git repository.
Let's start with a simple example (all graphs are based on Lenny).
$ debtree -I --rdeps-depth=3 apt
Only installed packages are displayed here; if the -I option is omitted,
debmirror will display all, but that does tend to explode the graphs,
especially for common libraries. As for forward dependencies, the color of
the arrows indicates Pre-Depends, Depends and Recommends.
The reverse dependencies are shown three levels deep (one is default).
The graph will always include all direct reverse dependencies (both on the
package itself and all virtual packages provided by it). For indirect reverse
dependencies there's a cut off that is set at five by default. Example is
debconf, that apparently has 9 reverse Pre-Depends and 58 reverse Depends
installed on my system.
The next one is simply beautiful.
$ debtree -I --rdeps-depth=20 --no-conflicts libcairo2
Because of the --rdeps-depth=20 this shows the full recursion! I was
surprised that this graph remained a reasonable size. Apparently no packages
depend on the virtual package libcairo, at least none that I have installed.
The final one is extreme, and I must confess that I have cheated a bit by
suppressing the least interesting reverse depends (which explains why it does not
match the numbers from the apt graph).
$ debtree -I -R --no-recommends --no-conflicts debconf
The most interesting thing here is how it shows the debconf-2.0 transition.
Most packages depend on 'debconf|debconf2.0'; tex-common instead has
'debconf|cdebconf', while tasksel and exim4 have both combinations
(probably one explicitly in debian/control and the other added by debhelper.
ucf is missing the alternative; apparently does not use debhelper (no
prizes for guessing who the maintainer is :-).
Notice anything about iamerican and ibritish? Yes, they really have a
double dependency on 'debconf|debconf2.0'.
The one thing missing is the version info for versioned dependecies. Not sure yet if I want to add that for reverse dependencies.
P.S. SVG versions of the images are available in the same directory as the JPGs.


