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 vari-
       able 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 main-
			tain.

			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 con-
			tains 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	direc-
			tory 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 cre-
			ated 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 loss-
			ing distfiles 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 sec-
       ond one with BSD# ports tree (tb_bsd_sharp), a third one	with GNOME-de-
       vel  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 Tartire <romain@blogreen.org>

FreeBSD	Ports 14.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+14.3.quarterly>

home | help