porttree
—
Show dependences of a FreeBSD port as a pseudo graphical
tree
porttree |
[-C | --color ]
[-c config |
--config config]
[-D | --no-depends ]
[-i | --cache ]
[-n | --number-all ]
[-O | --others ]
[-P portsdir |
--portsdir portsdir]
[-q | -quiet ]
[--no-quiet ] [-r |
-R | --reverse ]
[-s st |
--style st]
[-S filename |
--save filename]
[-U filename |
--use-saved filename]
[category/portname...] |
The porttree
utility is a tool for visualizing
dependences of a port, and ports dependent on the given ports. All known types
of dependences are tracked and shown after the portname in parenthesis by the
first character of the type name. E.g. if a port is needed to patch and to
build, its name will be followed by "(BP)".
The list of known types is BUILD, EXTRACT, FETCH, PATCH, LIB, RUN,
TEST. The PKG type is not tracked by porttree
,
yet.
If no category/port portname is given,
porttree
will try to use the current directory.
Portnames are to be given either as full pathnames or as
category/port within the portsdir, or else as a
pattern for package names. In the results, the portsdir is removed from the
beginning of the full pathnames. In case of package name pattern, the given
string is passed to
pkg-info(1)
along with switches -qo
and all resulting origins of
the corresponding installed packages are used in place of the pattern.
Use style 0 on a terminal without pseudo graphic chars (e.g.
ISO-8859-15), or switch the encoding of the terminal to utf-8, cp855, or
similar. E.g.
gnome-terminal(1)
allows to choose the encoding.
-C
|
--color
- Use ANSI color (or underlining) codes for characters indicating the
dependence types to ease visual tracking.
-c
config |
--config
config
- Read configuration settings from file config after
the default files /usr/local/etc/porttree.conf and
.porttree.conf in user's home directory.
-D
|
--no-depends
- Do not show direct depends. Implies
-r
.
-i
|
--cache
- Ignore ports system updates, unconditionally use cached information.
Implies that cache is not written back.
-n
|
--number-all
- Number all lines of the output, even the lines with reference to
previously shown ports. By default, this lines are not numbered, thus the
biggest line number indicates the total number of dependences.
-O
|
--others
- After the dependences of the given ports are shown, show also the not
previously shown ports with their dependences.
-P
portsdir |
--portsdir
portsdir
- Use the given directory portsdir to find the ports
instead of the default /usr/ports.
-q
|
--quiet
- Do not show a category name before scanning it. The names are shown as the
scan progress indicator.
--no-quiet
- Unset the quiet mode set in config files. Do not use this option in config
files.
-r
|
-R
|
--reverse
- Show reversed dependences, i.e. show ports depending on the given one.
-R
is deprecated and will be removed soon.
-s
st |
--style
st
- Use pseudo graphic chars style st. Few styles are
defined at the moment:
- -1
- - check for availability of Alternative Character Set (ACS) in
termcap/terminfo capabilities of the terminal where the program is
running and use it or fall back to the ASCII-only mode. This part was
written with help from Oliver Fromme.
- 0
- - use usual chars only (like ‘|’, ‘`’, and
‘+’).
- 1
- - single line pseudo graphics. For a previously shown port name, add
after the name an arrow ‘->’ with the line number
where it was shown. Also, a branching to nowhere symbol is added
before the port name, if it has further dependences.
- 2
- - same as 1, but use double line pseudo graphics.
- 3
- - (default) same as 1, but no indication of branching for previously
shown ports. Also, the arrow after a previously shown port name is a
pseudo graphical unicode symbol with no correspondent symbols in other
encodings. This causes problems when recoding the output with
iconv(1).
- 4
- - same as 3, but use double line pseudo graphics. The double arrow
might cause recording problems, as in 3.
- 5
- - unconditionally use ACS pseudo graphics of xterm/vt100
terminal.
-S
filename |
--save
filename
- Save the interdependences data to the file filename.
Defaults to /var/tmp/porttree.cache.
-U
filename |
--use-saved
filename
- Read the interdependences data from the file
filename. An empty string as
filename forces to skip reading saved data. Defaults
to /var/tmp/porttree.cache.
The following are examples of typical usage of the
porttree
command:
All dependences and dependents of gcc, and save the data for
future use in the file cache rather than default
file:
porttree -r -S cache
lang/gcc
Same used on a console with default screenmap:
porttree -s 1 -r -S cache lang/gcc |
iconv -f utf-8 -t cp437
Using previously saved in the file cache data (and then
saving to the default file) for python32:
porttree -U cache -r
/usr/ports/lang/python32
The program and this manual page were written by Vladimir
Chukharev.
Styles 3 and 4 use arrow chars which could not be converted by
iconv(1)
to console charsets (e.g. cp437).
PKG type of dependence is not tracked.
There is no protection for concurrent execution.
Some options set in a config file cannot be unset in command
line.