rpmdep is an improved 'rpm -qR' command : it search recursively for package dependencies, and resolves all dependencies to package names. It can also prepare a file to build a graph of dependencies, with graphviz.
rpmdep.pl [options] package
-help brief help message -man full documentation -V, --version print version -use-cache use cache file instead rpm query -clear-cache clear cache file -level display dependencies by level -debug debug mode -dot dotfile build a dot file for graphviz -depending instead of dependencies, display dependings -suggests also show very weak dependencies : suggests -recommends also show weak dependencies : recommends -all works on all installed packages
a package to analyse. Only one name may be given. It is not necessary if you are using the -all option.
Print a brief help message and exits.
Print the manual page and exits.
Print the program release and exit.
The program works and print debugging messages.
The program also print dependencies by level
create a dot file to be used by graphviz. in normal call, an arrow from a to b means that a package depends (uses) b package. in dependings call, an arrow from a to b means that a package is used by b package.
the rpm query may be long (10 to 30 s). If you will run an rpmorphan tool several time, this option will allow to gain a lot of time : it save the rpm query on a file cache (first call), then use this cache instead quering rpm (others calls).
to remove cache file. Can be used with -use-cache to write a new cache.
instead of showing package dependencies (rpm -qR), display packages wich are depending upon the given argument : it then act as an improved 'rpm -q --whatrequires' command
add to “required” dependencies, very weak dependencies
add to “required” dependencies, weak dependencies
rpmdep will then work on all installed packages, and display the results sorted by the number of depends (or dependings).
get the full list of dependencies for rpmrebuild package
get the full list of dependencies for rpmrestore package and build the graph data file (rpmrestore.dot)
rpmdep.pl -dot rpmrestore.dot rpmrestore
build a png graph image from the graph data
dot -Tpng rpmrestore.dot -o rpmrestore.png
get depending package of perl
rpmdep.pl --depending perl
check is a package is an orphan
rpmdep.pl --depending afick-gui
list all package dependencies
list all packages dependings and prepare a graph
rpmdep.pl -a --depending --dot alldep.dot
get all dependencies of rpmrebuild package
rpmdep.pl -suggests --recommends rpmrebuild
the program can use the /tmp/rpmorphan.cache file
the debug mode allow to see all the recursive work
others messages are
- package ... is not installed
this is not a name of an installed package
- ... has no dependencies
this can comes for some admin tools (ash for example)
- ... depends upon (list)
return a list of sorted and comma separated packages
- ... is needed by (list)
return the depending package list
- no depending : ... is an orphan
the given package has no depending packages : it is an orphan
O if all is ok
>=1 if a problem
you should use graphviz to build graph from dot files
Bugs and Limitations
the program does not work well on program installed in several versions
the code does not use the following rpm tags : Supplements, Enhances
this program can be used as “normal” (unpriviledge) user
rpm(1) for rpm call
License and Copyright
Copyright (C) 2008 by Eric Gerbier This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
you can report any bug or suggest to firstname.lastname@example.org
rpmduplicates(1), rpmextra(1), rpmorphan(1), rpmusage(1).