RPMDEP(1)
π RPMDEP π
okay bestie, gather round, because we're reading the manual page for rpmdep, and she is serving from the User Contributed Perl Documentation section of the man-verse. sit down, hydrate, and let's get into it π
β¨
πΈ NAME πΈ
rpmdep β display the full dependency of an installed rpm package
π¦ DESCRIPTION π¦
so rpmdep is literally an improved rpm -qR command, no cap. it searches recursively for package dependencies and resolves all of them down to package names. and as if that wasn't enough?? it can also prepare a file so you can build a whole graph of dependencies with graphviz. it's giving data visualization queen π
β¨ 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 π
you gotta hand her a package to analyse. only one name may be given, so don't be greedy. and plot twist: it's not necessary if you're using the -all option, because then she does the whole roster herself π«Ά
π OPTIONS π
-helpβ print a brief help message and then dip. exits immediately.-manβ print the manual page and exit. (yes, the page you are literally reading right now, meta queen)-versionβ print the program release and exit.-debugβ the program works and prints debugging messages. it's yapping but like, usefully.-levelβ the program also prints dependencies by level.-dotβ create a dot file to be used by graphviz. in a normal call, an arrow from a to b means that package a depends on (uses) package b. in a dependings call, an arrow from a to b means that package a is used by package b.-use-cacheβ the rpm query can be long (like,10to30s long, an eternity in group-chat years). if you're gonna run an rpmorphan tool several times, this option saves you soooo much time: it saves the rpm query to a file cache on the first call, then uses that cache instead of querying rpm on all the other calls. obsessed π-clear-cacheβ remove the cache file. can be used with-use-cacheto write a brand new cache. out with the old π§Ή--dependingβ instead of showing package dependencies (rpm -qR), display the packages that are depending upon the given argument. it then acts as an improvedrpm -q --whatrequirescommand. the reverse-engineering icon π₯--suggestsβ add to "required" dependencies the very weak dependencies.--recommendsβ add to "required" dependencies the weak dependencies.--allβrpmdepwill then work on all installed packages and display the results sorted by the number of depends (or dependings). she said "I'll do all of it" π
π USAGE π
get the full list of dependencies for the rpmrebuild package:
rpmdep.pl rpmrebuild
get the full list of dependencies for the 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 the 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 the rpmrebuild package:
rpmdep.pl -suggests --recommends rpmrebuild
π FILES π
the program can use the /tmp/rpmorphan.cache file. that's her little secret stash πΎ
β DIAGNOSTICS β
the debug mode allows you to see all the recursive work. she's showing her process, bestie.
the other messages are:
package ... is not installedβ this is not a name of an installed package. π... has no dependenciesβ this can come from some admin tools (ashfor example).... depends upon (list)β returns a list of sorted and comma separated packages.... is needed by (list)β returns the depending package list.no depending : ... is an orphanβ the given package has no depending packages, so it's an orphan. no friends, no dependents, just vibes π₯Ί
π EXIT STATUS π
Oif all is ok>=1if a problem
ngl that first one is written exactly like that, so we keep it exactly like that. periodt.
π§ CONFIGURATION π§
nothing. literally nothing. zero config, zero drama, she just works π
π DEPENDENCIES π
you should use graphviz to build a graph from dot files. iykyk.
π INCOMPATIBILITIES π
not known. she plays nice with everyone, apparently.
π BUGS AND LIMITATIONS π
- the program does not work well on programs installed in several versions. it's giving "who even are you" energy.
- the code does not use the following rpm tags:
Supplements,Enhances.
π NOTES π
this program can be used as a "normal" (unprivileged) user. no sudo required, we love a low-maintenance queen π«Ά
π SEE ALSO π
rpm(1)for rpm callrpmorphan(1)rpmusage(1)rpmduplicates(1)rpmextra(1)
π 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
okay bestie that's the whole page, and yes we made it to the end π this was perl v5.42.0, dated 2025-07-25, and it's the RPMDEP(1) page β thanks for reading, now go run some queries, slay, and remember: orphan packages need love too ππ¦β¨
π¦ where this page comes from
- fedora 43: rpmorphan 1.19-8.fc43 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms