Install software from the FreeBSD ports(7) system

New in version 2014.1.0.

This module allows you to install ports using BATCH=yes to bypass configuration prompts. It is recommended to use the ports state to install ports, but it it also possible to use this module exclusively from the command line.

salt minion-id ports.config security/nmap IPV6=off
salt minion-id ports.install security/nmap
salt.modules.freebsdports.config(name, reset=False, **kwargs)

Modify configuration options for a given port. Multiple options can be specified. To see the available options for a port, use ports.showconfig.

The port name, in category/name format
: False
If True, runs a make rmconfig for the port, clearing its configuration before setting the desired options

CLI Examples:

salt '*' ports.config security/nmap IPV6=off

De-install a port.

CLI Example:

salt '*' ports.deinstall security/nmap
salt.modules.freebsdports.install(name, clean=True)

Install a port from the ports tree. Installs using BATCH=yes for non-interactive building. To set config options for a given port, use ports.config.

: True
If True, cleans after installation. Equivalent to running make install clean BATCH=yes.


It may be helpful to run this function using the -t option to set a higher timeout, since compiling a port may cause the Salt command to exceed the default timeout.

CLI Example:

salt -t 1200 '*' ports.install security/nmap

Lists all ports available.

CLI Example:

salt '*' ports.list_all


Takes a while to run, and returns a LOT of output


Clear the cached options for the specified port; run a make rmconfig

The name of the port to clear

CLI Example:

salt '*' ports.rmconfig security/nmap

Search for matches in the ports tree. Globs are supported, and the category is optional

CLI Examples:

salt '*' 'security/*'
salt '*' 'security/n*'
salt '*' nmap


Takes a while to run

salt.modules.freebsdports.showconfig(name, default=False, dict_return=False)

Show the configuration options for a given port.

: False
Show the default options for a port (not necessarily the same as the current configuration)
: False
Instead of returning the output of make showconfig, return the data in an dictionary

CLI Example:

salt '*' ports.showconfig security/nmap
salt '*' ports.showconfig security/nmap default=True

Update the ports tree

: False
If True, runs a portsnap extract after fetching, should be used for first-time installation of the ports tree.

CLI Example:

salt '*' ports.update