rpmdep - Man Page
display the full dependency of an installed rpm package
Description
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.
Synopsis
rpmdep.pl [options] package
options:
-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.
Options
- -help
Print a brief help message and exits.
- -man
Print the manual page and exits.
- -version
Print the program release and exit.
- -debug
The program works and print debugging messages.
- -level
The program also print dependencies by level
- -dot
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.
- -use-cache
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).
- -clear-cache
to remove cache file. Can be used with -use-cache to write a new cache.
- --depending
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
- --suggests
add to "required" dependencies, very weak dependencies
- --recommends
add to "required" dependencies, weak dependencies
- --all
rpmdep will then work on all installed packages, and display the results sorted by the number of depends (or dependings).
Usage
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
Files
the program can use the /tmp/rpmorphan.cache file
Diagnostics
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
Configuration
nothing
Dependencies
you should use graphviz to build graph from dot files
Incompatibilities
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
Notes
this program can be used as "normal" (unpriviledge) user
See Also
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.
Author
Eric Gerbier
you can report any bug or suggest to gerbier@users.sourceforge.net
Referenced By
rpmduplicates(1), rpmextra(1), rpmorphan(1), rpmusage(1).