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!
With 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.
Brilliant! Excellent post! Thanks : )
Thank you for this post – very helpful.
One note – the two most recent versions of rpmdep seem to be broken, so I had to go back to the package from late 2010.
you shoulda do that in svg instead of png