Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PORTSHAKER.CONF(5)	       File Formats Manual	      PORTSHAKER.CONF(5)

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

DESCRIPTION
     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  vari-
		      able  must  be  set  to tell portshaker(8) where the ports
		      trees has to be merged to and a <target>_merge_from  vari-
		      able  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  mutu-
		      ally 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 prompt-
		      ing 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 pre-
		      serving  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 di-
		      rectory'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 dist-
		      files and packages each time you merge your  target  ports
		      tree.

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

   Hooking
     Hooks  for  portshaker(8)	can  be  defined in portshaker.conf as functions
     named <port_tree>_pre<action>() and <port_tree>_post<action>() where action
     is one of update or merge.

EXAMPLES
     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"

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

AUTHORS
     Romain Tartiere <romain@blogreen.org>

FreeBSD ports 15.quarterly     September 30, 2008	      PORTSHAKER.CONF(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=portshaker.conf&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help