Sometimes, rpm dependencies get rather complex. It’s not always easy for an rpm maintainer to keep track of the runtime requirements of his package and therefore, huge rpm dependency trees develop. And it’s even more difficult so see which packages get pulled by yum, because only a tiny part of those are actually listed as requirements in the spec file. The tree gets huge with recursion!
rpmdep, there’s a small tool that will help you visualize those dependency trees. It’s part of Fedora’s
rpmorphan-package, so you can easily pull it with yum:
# yum install rpmorphan
rpmdep itself is just a perl script, that walks down the rpm tree recursively. It can produce a Graphviz dot-file, which in turn can be used to make rather since pictures. For example,
$ rpmdep -dot firefox.dot firefox $ dot -Tpng firefox.dot -o firefox.png
produces a complete rpm dependency tree for
firefox. An exemplary picture (firefox’s dependencies in Fedora 13):
Graphvic can produce quite a few output formats. For an overview about all available commands, have a look at http://www.graphviz.org/doc/info/command.html.