The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

ppmgraph.pl - graph CPAN tarball dependencies

SYNOPSIS

ppmgraph.pl -os=linux -pkg=Class-DBI >class-dbi.png

DESCRIPTION

This program takes Activestate's package list (download it from http://www.activestate.com/PPMPackages/5.6plus/package.lst), which is in XML format, and uses it to determine dependencies between packages. It then hands over those dependencies to GraphViz. The resulting graph is output in PNG format on STDOUT.

Note that this means that dependencies of modules within the tarballs can't be determined this way, only dependencies between the tarballs themselves. For these purposes, there will be programs to graph dependencies between installed modules and the runtime @ISA hierarchy.

OPTIONS

This section describes the supported command line options. Minimum matching is supported.

--pkg

Mandatory option to specify which package to graph the dependency for. This can be either the name of the module (e.g. Class::DBI) or the name of the tarball sans version number (e.g. Class-DBI). In any case, the graph will display tarball names as the node labels, since that's what's contained in the XML file.

--os

Which Operating System to graph the dependency for. At the moment, ActiveState defines "linux", "solaris" and "MSWin32". If not given, this option defaults to "linux".

--help

Print a brief help message and exit.

--man

Print the manual page and exit.

--verbose

Print information messages as we go along.

BUGS

Some. Possibly. I haven't fully tested it. Also, a performance problem. The package XML file is over a meg, and performance suffers. At the moment, this is of no concern, but I might switch over to PerlSAX later. I'm using XPath at the moment since I'm familiar with it.

AUTHOR

Marcel Grünauer <marcel@codewerk.com>

COPYRIGHT

Copyright 2000 Marcel Grünauer. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

GraphViz(3pm)