RPMDEP(1)

πŸ“¦
version 1.19 Β· 2 versions
, in fedora 43

πŸ’– 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, 10 to 30 s 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-cache to 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 improved rpm -q --whatrequires command. the reverse-engineering icon πŸ”₯
  • --suggests β€” add to "required" dependencies the very weak dependencies.
  • --recommends β€” add to "required" dependencies the weak dependencies.
  • --all β€” rpmdep will 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 (ash for 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 πŸ‘‘

  • O if all is ok
  • >=1 if 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 🌟


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