Fun With Fedora Package Dependencies

For this you'll need (on Fedora) to install the rpmorphan package (which includes the rpmdep Perl script) and graphviz which includes the dot binary for creating graphs. From there this is very simple:

$ rpmdep -dot bash.dot bash
$ dot -Tpng -o bash.png bash.dot

Then take a look at your pretty new graph showing you Bash's Fedora dependencies.

What bash depends on (package names in bubbles linked in requirement order).

Dot is a cool tool: here's the bash.dot file used to generate this:

digraph "rpmdep" {
bash -> ncurses_libs;
ncurses_libs -> ncurses_base;
ncurses_libs -> glibc;
glibc -> glibc_langpack_en;
glibc_langpack_en -> glibc_common;
glibc_common -> glibc;
glibc_common -> bash;
glibc_common -> tzdata;
glibc_common -> libselinux;
libselinux -> pcre;
pcre -> glibc;
libselinux -> libsepol;
libsepol -> bash;
libsepol -> glibc;
glibc -> basesystem;
basesystem -> setup;
setup -> fedora_release;
fedora_release -> fedora_repos;
fedora_repos -> fedora_release;
basesystem -> filesystem;
filesystem -> bash;
filesystem -> setup;
}

There's an equivalent for Debian, debtree. My experience with it was that the generated graphs were fantastically complex, to the point of unreadability ... but it's been a while.