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  -  PORT (1)


port - FreeBSD Port Tools front-end script


See Also


port command [options]


port simplifies testing and submitting Problem Reports (PRs) with a new FreeBSD port, or change/update to an existing ports.

port has the following commands:
create create a new port from a template
  follow up on a Problem report
diff generate diff against original port version
fetch fetch distfile(s) of new port version
help display summary for port commands
submit submit PR with new port, or port change/update
test automate testing a new port or a port update


  Creates a directory for new port from a template


port create name

name name of port to create. Generates an error if a file or directory with this name already exists in the current directory.


    % port create libgpg-error

This would create a new directory named libgpg-error and corresponding Makefile, distinfo, pkg-descr, pkg-plist files.
diff Generates shar(1) file (for new ports) or patch file in unified diff(1) format against original port (for changes or updates), suitable for submitting as PR.

Generated file then passed to the viewer specified in ~/.porttools configuration file. Default viewer is cdiff(1) if present, otherwise - more(1).


port diff [-h] [-d mode] [-m mode]

-h display usage summary for this command.
-d mode select diff generation mode:
SVN diff against SVN repository (default).
dir diff against original version of the port in the Ports tree with root at dir (for example, /usr/ports).
  diff against original version of the port with specified directory suffix (for example, .orig) in the parent directory.
-m mode
  Override automatic mode selection:
new generate SHAR as if the port was new


    % port diff -d SVN

This would generate unified diff of modified checked-out working copy of the port against SVN repo.
fetch Fetch one or more distfiles of new or updated port version and updates checksums. It is a shortcut for typing the following at the shell prompt:

    % rm -f distinfo && make fetch && make makesum


port fetch

Accepts no additional arguments.

help Displays summary for port commands by dynamically scanning command scripts located in ${PREFIX}/share/porttools.


port help

Accepts no additional arguments.

  Submits PR with new port, or changed or updated port.

Run this command from a directory containing the new port. First, it executes portlint(1) (unless -L option was specified) to verify the port files for correctness, then it automatically detects mode - new, change or update (unless overridden by -m mode option), generates either a shar(1) file (for new ports) or patch file in unified diff(1) format (for changed or updated ports). This file is named according to port’s name and version.

Finally, it prepares PR for submittal via send-pr(1) by automatically filling in most of the fields in the standard form, attaching the generated shar or patch file to the PR. If the PR submittal was successful, shar/patch file could be optionally saved to ${ARCHIVE_DIR} if that variable is defined and points to a writable directory.


port submit [-hL] [-m mode] [-d mode] [-s severity] [-p priority]

-h display usage summary for this command.
-d mode select diff generation mode - see the port diff command above for details.
-m mode Overrides automatic detection of operation mode:
new submitting new port.
  changing (but not updating) existing port.
  updating existing port to newer version.
-s severity
  Sets severity of the PR. Valid values are: non-critical, serious, critical. Default is non-critical.
-p priority
  Sets priority of the PR. Valid values are: low, medium, high. Default is low.
-L Skips running portlint(1). Using this option will generate a warning and it strongly discouraged.
-P Don’t send the PR. Just print to stdout (see -P in send-pr(1)).
test Automates the process of testing a new port (or a port update) by going through the steps recommended by the FreeBSD Porter’s Handbook:

Note: build phase can be run under a regular user account, all others require root privileges, so port automatically invokes sudo(1).

The command stops if any errors are encountered during the process.

To avoid interfering with the ports already installed on the build host, PREFIX variable is set so the installation is done to a directory inside BUILDROOT (e.g. /tmp/${PKGNAME}), and PKG_DBDIR points to a temporary package database (e.g. /tmp/pkg_db.xxxxxxx). This allows to test an update to a port already installed on the build system (same or previous version).

This command also detects and lists any files not listed in pkg-plist during 'Extra files check' phase.


port test [-h] [-lLbipcC] [-- port knobs]

-h display usage summary for this command.
-l Run portlint(1) only.
-L Do not run portlint(1).
-b Stop after build phase.
-i Stop after install phase.
-p Stop after package phase.
-c Do NOT clean before port.
-C Do NOT clean after port.
-- End of port options. Port knobs may follow.


    % port test -i -C

This would build and install the port, but would not delete the installed files. This command may be used to manually examine the installed files for correctness.

    % testport -- NOPORTDOCS=yes

Tests port without installing documentation (i.e. pass NOPORTDOCS=yes to all make phases). Note: you can list as many port knobs/parameters as needed.


  FreeBSD Port Tools configuration file. It is generated automatically if missing. See porttools(5) for detailed description of the format.


svn(1), cdiff(1), diff(1), more(1), portlint(1), send-pr(1), shar(1), sudo(1), porttools(5), ports(7)


Please report any bugs to
.An Steven Kreuzer Aq .
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.