Skip to content

mambelli/rpmdepsgraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

RPMDepsGraph

Simple bash script to create a graph of RPM packages' dependencies. The output is in dot (https://graphviz.org/doc/info/lang.html) directed graph format, and can be displayed or printed using the dotty graph editor from the graphviz package.

Requires the rpm command. Just download and use it. Add it to your path if desired.

To learn more about what it does and how to use it type ./rpmdepsgraph.sh -h:

rpmdepsgraph.sh [options] RPM_FILES
Create a graph of RPM dependencies in a set of RPM packages.
The output is in dot(https://graphviz.org/doc/info/lang.html) 
directed graph format, and can be displayed or printed using the
dotty graph editor from the graphviz package.  
  -h       print this message
  -v       verbose mode
  -k KEY   if 1 or more "-k" option is present, add all KEYs to a KEEP_LIST
           and keep only dependencies starting with one of the KEYs
  -x KEY   if 1 or more "-x" option is present, add all KEYs to a REJECT_LIST
           and reject all dependencies starting with one of the KEYs
  -t STR   graph title. Defaults to "RPM Dependencies"
  -o PATH  output file path (name and directory). Defaults to stdout
Examples:
 rpmdepsgraph.sh -t MyPackage dist/mypackage*rpm > mypackage.dot
 dot -Tsvg mypackage.dot > mypackage.svg
Similar commands:
 rpmgraph (from rpm-devel RPM) is working as well on package files
but is not listing all dependencies, and has no filtering.
 rpmgraph.py (https://codeberg.org/htgoebel/rpmgraph) is using the
RPM db and is Python 2 code.
 dnf repograph
 dnf repoquery  --tree --requires mypackage-sub_a-3.10.10 --qf "%{name}"
both use the RPM db and print/graph too many dependencies 

Distributed under the Apache License v2.0.

About

Create a graph or RPM packages dependencies

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages