GSP
Quick Navigator

Search Site

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

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PORTSHAKER.CONF(5) FreeBSD File Formats Manual PORTSHAKER.CONF(5)

portshaker.conf
format of the portshaker(8) configuration file

The file portshaker.conf contains descriptive information about which source ports trees portshaker(8) has to be merged into which target ports trees.

Options are set with “name=value” assignments that use sh(1) syntax. The following list provides a name and short description for each variable that can be set in the portshaker.conf file:

mirror_base_dir
(str) Base directory where portshaker(8) will fetch source ports trees.
ports_trees
(str) Set to the list of target ports trees to maintain.

A ⟨target_ports_tree or a ⟨target_poudriere_tree variable must be set to tell portshaker(8) where the ports trees has to be merged to and a ⟨target_merge_from variable must be set to the list of source ports trees to merge from.

When specifying a ⟨target_ports_tree, it should be set to the full path of the directory where the target ports tree is located.

When specifying a ⟨target_poudriere_tree, it should be set to the name of the ports tree that will be later-on used with poudriere(8).

target_ports_tree and ⟨target_poudriere_tree are mutually exclusive.

If the source ports tree name contains colons, they are replaced by spaces and portshaker(8) will pass these extra argument to the script named by the first component. This allowing some kind of factorisation for multiple sources in a single repository.

If a source ports tree is known to provide ports that are already provided in another ports tree, and while both ports provide the same version of a software package they do not contain the same files, portshaker(8) can be told to automatically install the updated ports without prompting the user by appending an exclamation mark after the source ports tree name.

Alternatively, appending a plus sign after the source ports tree name will, regardless of version, install or replace matching files in the target port tree whilst preserving any pre-existing non matching port files. This is useful when the source ports tree contains an incomplete subset of files for instance only local patches.

fail_on_conflict
(bool) Fail if a merge conflict is encountered.
poudriere_dataset
(string) The ZFS filesystem poudriere(8) is configured to use.
poudriere_ports_mountpoint
(string) The directory where poudriere(8) ports directory are mounted, usually /usr/local/poudriere/ports.
source_zfs_compression
(string) ZFS compression to use when creating a source ports tree (require use_zfs to be set). Defaults to lz4.
target_zfs_compression
(string) ZFS compression to use when creating a target ports tree (require use_zfs to be set). Defaults to off.
use_zfs
(bool) Whether to use ZFS for cloning the first source ports tree to the target ports tree.

When set, the mirror_base_dir directory should be a ZFS filesystem for portshaker(8) to create new ZFS filesystems automatically (one per source ports tree); otherwise the ZFS filesystem shall be created by the user before running portshaker(8) for the first time.

A ⟨target_zfs_dataset variable can be used to control the ZFS dataset used for the filesystem. By default, a dataset with the name of the target ports tree is created as a child of the dataset of the target ports tree's parent directory's dataset (i.e. if the /usr filesystem's dataset is data/foo, then the dataset for the /usr/ports directory will be data/foo/ports). This requires the target ports tree's parent directory to be a ZFS filesystem.

When using this option, you may want to set DISTDIR and PACKAGES in /etc/make.conf in order to avoid lossing distfiles and packages each time you merge your target ports tree.

verbose
(int) Default verbosity level, 0 if unspecified.

Hooks for portshaker(8) can be defined in portshaker.conf as functions named ⟨port_tree_preaction⟩() and ⟨port_tree_postaction⟩() where action is one of update or merge.

To maintain a single ports tree with BSD# ports:
ports_trees="main"
main_ports_tree="/usr/ports"
main_merge_from="ports bsd_sharp"

To configure a tinderbox with official ports tree (tb_official), a second one with BSD# ports tree (tb_bsd_sharp), a third one with GNOME-devel ports tree (tb_gnome) and a last one with both upcomming BSD# and GNOME (tb_bsd_sharp_gnome):

ports_trees="tb_official tb_bsd_sharp tb_gnome tb_bsd_sharp_gnome"

tb="/usr/local/tinderbox/"
tb_official_ports_tree="${tb}/portstrees/FreeBSD/ports"
tb_official_merge_from="ports"

tb_bsd_sharp_ports_tree="${tb}/portstrees/BSD-sharp/ports"
tb_bsd_sharp_merge_from="ports bsd_sharp"

tb_gnome_ports_tree="${tb}/portstrees/GNOME/ports"
tb_gnome_merge_from="ports gnomedevel"

tb_bsd_sharp_gnome_ports_tree="${tb}/portstrees/BSD-sharp-gnome/ports"
tb_bsd_sharp_gnome_merge_from="ports bsd_sharp gnomedevel"

To merge multiples redports sources in a single target ports tree:

ports_trees="main"
main_ports_tree="/usr/ports"
main_merge_from="ports redports:foo redports:bar"

make.conf(5), portshaker.d(5), portshaker(8), poudriere(8)

Romain Tartière ⟨romain@blogreen.org⟩
September 30, 2008 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 5 |  Main Index

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