Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  PORTTREE (1)


porttree - Show dependences of a FreeBSD port as a pseudo graphical tree




porttree [-f-| --fetch-depends ] [-e-| --extract-depends ] [-p-| --patch-depends ] [-b-| --build-depends ] [-l-| --lib-depends ] [-r-| --run-depends ] [-n-| --number-all ] [-s st |--style st] [-A-| --all-ports ] [-R-| --reverse ] [-O-| --others ] [-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 if used with -A -R . Without any options, all kinds of dependences will be tracked and shown, same as if all of them are given. This will show, e.g. ports needed to patch a port, which is necessary to fetch the given port. Only given types of dependences will be used if any of them are present in the command line.

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.


The options are as follows:
-f -| --fetch-depends
  Show ports necessary to fetch the target port.
-e -| --extract-depends
  Show ports necessary to extract the target port.
-p -| --patch-depends
  Show ports necessary to patch the target port.
-b -| --build-depends
  Show ports necessary to build the target port.
-l -| --lib-depends
  Show ports installing libraries necessary for the target port.
-r -| --run-depends
  Show ports necessary to run the target port.
-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.
-s st |--style st
  Use pseudo graphic chars style st. Five styles are defined at the moment:
-1 - (default) 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 - same as 1, but no indication of branching for previously shown ports.
4 - same as 3, but use double line pseudo graphics.
5 - unconditionally use ACS pseudo graphics of vt100 terminal.
-A -| --all-ports
  Traverse whole ports tree, then show dependences of the given ports.
-R -| --reverse
  Show also reversed dependences, i.e. show ports depending on the given one.
-O -| --others
  After the dependences of the given ports are shown, show also the not previously shown ports with their dependences. Together with -A , this can be used to show all ports.
-P dir |--save dir
  Use the given directory to find the ports instead of the default
-S filename |--save filename
  Save the interdependences data to the file filename.
-U -| --unsave
  Read the interdependences data from the file filename.

Try the current directory if no portname is given. Portnames are to be given either as full pathnames or as category/port within the portsdir. In the results, the portsdir is removed from the beginning of the pathnames.


The following are examples of typical usage of the porttree command:

All dependences and dependents of gcc44, and save the data in the file cache for future use:

    porttree -A -R -S cache lang/gcc44

Same used on a console with default screenmap:

    porttree -s 1 -AR -S cache lang/gcc44 | iconv -f utf-8 -t cp437

Using previously saved in the file cache data for python32:

    porttree -U cache -R /usr/ports/lang/python32


The program and this manual page were written by
.An Vladimir Chukharev.


Styles 3 and 4 use arrow chars which could not be converted by iconv(1) to console charsets (e.g. cp437).

Practically no check is done for usefulness of used option combinations. E.g. -A is silently ignored with -U filename. On the other hand, -S filename overwrites a good saved file with nearly empty one if -A is not given with it.


iconv 1, ports(7)
Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.