portdepends -- list the dependency tree for a port
portdepends [-h] [-s style] [-c dir]
[-C file] [-o file] dir...
portdepends displays the dependency tree for each port origin listed on
the command line. Dependency relationships are read from the portindex
cache file. By default dependencies are displayed textually, in a recursive
fashion without flattening any of the lists as is done in generating an INDEX
file: this leads to a great deal of repetition and much longer output than
might be expected for some ports. To suppress the repetition of dependency
subtrees, use the --style=short or -s s command line option.
This visits each node in the dependency tree at most once. For graphical
output use the --style=graph or -s g option. This generates
canonical GraphViz format, which can be read into dot to render the
graph as an image.
Output is tagged with a label showing which of the six possible
dependency types exist between each port and its immediate superior. In
addition edges in the graphical output are colour coded:
- E
- EXTRACT_DEPENDS (yellow)
- P
- PATCH_DEPENDS (Cyan)
- F
- FETCH_DEPENDS (Magenta)
- B
- BUILD_DEPENDS (Red)
- R
- RUN_DEPENDS (Green)
- L
- LIB_DEPENDS (Blue)
For example: GraphViz format output can be rendered as a
PNG image like this:
"portdepends -s g
ports-mgmt/p5-FreeBSD-Portindex | dot -Tpng -o FP.png"
Dependency levels in textual output are indicated by indenting the
dependent port name inseting a string "- " for each level.
portdepends shares configuration files with portindex,
cache-init, cache-update and find-updated. Any
configuration settings are taken from the following locations, where the later
items on this list override the earlier:
- Built-in settings from the FreeBSD::Portindex::Config perl
module.
- The system wide configuration file
/usr/local/etc/portindex.cfg
- The per-user configuration file ${HOME}/.portindexrc (ignored if
the program is being run by the superuser)
- The local configuration file, found in the current working directory of
the portdepends process ./.portindexrc (ignored if the
program is being run by the superuser)
- The program command line.
All of the configuration files are optional. A summary of the
resultant configuration options including the effect of any command line
settings is printed as part of the help text when portindex is
invoked with the "-h" option.
- -h
- --help
- Print a brief usage message and a summary of the configuration settings
after command line processing and then exit.
- -s { short | s | graph | g | default }
- --style { short | ... }
- Choose the output style.
- short or s
- Visit each dependency node only once. Avoids repetetive printing of
various dependency sub-trees, and can reduce the amount of output a great
deal for complicated dependency trees.
- graph or g
- Generate canonical GraphViz format suitable for rendering into an image by
dot
- default or any other text
- Print out the full dependency tree, recursing into each sub-branch as many
times as there are dependency links to that branch. This is the
default.
- -c dir
- --cache-dir=dir
- The location of the portindex data cache, by default
/var/db/portindex.
- -C file
- --cache-file=file
- Berkeley DB Btree file containing the cached and post-processed values of
a number of "make" variables for all of
the ports in the tree. This file name will be relative to the cache
directory (-c option above) unless an absolute path is given.
Defaults to portindex-cache.db.
- -o file
- --output=file
- Filename to write the generated dependency information to. Setting this to
- means output to STDOUT, which is the default.
- /usr/ports
- The default ports directory.
- /var/db/portindex
- The location of the data cache.
- portindex-cache.db
- Btree file containing cached "make
describe" output.
- __db.001, __db.002, __db.003
- Files used as part of the internal workings of BerkeleyDB, for memory pool
management and DB locking. Will be recreated automatically if
deleted.
- portindex-timestamp
- This file contains the last time and date that the cache was updated or
modified.
- /usr/local/etc/portindex.cfg
- System-wide configuration file.
- ${HOME}/.portindexrc
- Per-user configuration file
- ./.portindexrc
- Local configuration file
poertindex(7), cache-init(1), cache-update(1),
find-updated(1), cvsup(1), ports(7), graphviz(7),
dot(1)
There are bound to be some somewhere.