August 23, 2009: Notes for packagers.
It draws a pretty picture of your installed packages. Common uses include exploring dependency trees or finding hundreds of megs of useless packages.
To try it yourself, get the code, or install it from the AUR. Run
pacgraph to generate an SVG. If Inkscape or imagemagick is installed it will also render a PNG. It might seem a little slow, but it's many times faster than Graphviz. Alternatively, run
pacgraph-i to launch a simple tk GUI.
Right now Arch is the only well supported distro, but writing new loaders is pretty easy. Thanks to Carl Hamann, there is good support for Debian and Red Hat. And their derivative distributions like Ubuntu or Fedora.
Stuff supported from the command line:
Slow computer, or you want exact numbers?
Custom colors? Each of these takes one color, such as
pacgraph -b "#808080" -l "#ffffff" -b --background -l --link -t --top -d --dep
Font size can be set with
pacgraph -p 10 100 where the first number is the smallest point size, and the second is the largest.
Interested in how one package fits into your system? Use --highlight (followed by three colors and the package name) to draw attention to its dependencies and inverse dependencies.
Distro is chosen through
--mode. Current supported options are
arch (which graphs your installed packages),
arch-repo (which graphs every official package in the repositories),
Arch-repo mode also lets you plot arbitrary app's dependency trees. To generate the example shown, run
pacgraph -m arch-repo gimp. You may specify multiple package names, to see how their dependencies overlap.
The cross platform support has been seeing more use. In case anyone wants to package it for a non-Arch distro, there are a few critical variables to set. In function
parse(), the first line sets
default_action. Right now this is
arch, but any
--mode option may be used, such as
redhat. For the interactive GUI (pacgraph-i), it needs to know the exact path of the pacgraph source, for the