rpmdep - Man Page

display the full dependency of an installed rpm package


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

Required Arguments

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

  rpmdep.pl rpmrebuild

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

  rpmdep.pl -a

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

Exit Status

O if all is ok

>=1 if a problem




you should use graphviz to build graph from dot files


not known

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

See Also

rpm(1) for rpm call






Eric Gerbier

you can report any bug or suggest to gerbier@users.sourceforge.net

Referenced By

rpmduplicates(1), rpmextra(1), rpmorphan(1), rpmusage(1).

2018-09-13 perl v5.26.2 User Contributed Perl Documentation