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

FreeBSD Manual Pages

  
 
  

home | help
PORTSHAKER(8)		     System Manager's Manual		   PORTSHAKER(8)

NAME
     portshaker -- Maintain a set of ports trees.

SYNOPSIS
     portshaker [-qstv] [-U | -u source] [-M | -m target] [-I | -i target]

DESCRIPTION
     The  portshaker  utility  maintains  a set of target ports trees containing
     ports provided by source ports trees.

     A single target ports tree can contain ports  from  any  number  of  source
     ports  trees.  If	a  port  is provided by more than one source ports tree,
     portshaker will merge the latest version of this port in the  target  ports
     tree.

     As  portshaker can maintain any number of target ports tree, it is particu-
     larly handy if you want to use customized	ports  trees  with  tinderbox  /
     poudriere.

     The options are as follows:

     -I 	Update all target ports trees INDEX files.

     -M 	Merge all target ports trees.

     -U 	Update all source ports trees.

     -i target	Update the specified target ports tree INDEX files.

     -m target	Merge the specified target ports tree.

     -q 	Decrease verbosity level.

     -s 	Display the list of configured source ports trees and exit.

     -t 	Display the list of configured target ports trees and exit.

     -u source	Update the specified source ports tree.

     -v 	Increase verbosity level.

   Handling conflicts
     When  merging  a target ports tree, portshaker will try to detect inconsis-
     tencies and report conflicts.

     Such conflicts can occur in two situations:

     *	 Two source ports tree claim to provide the same  version  of  a  single
	 port  (they both have the same PORTEPOCH, PORTVERSION and PORTREVISION)
	 but they do not provide the same files.

	 In such a situation, portshaker(8) will switch to interactive mode  and
	 ask you what to do.

	 In  order to effectively fix the problem after the merge, you will have
	 to either:

	 *   Remove the conflicting version of the port from  its  source  ports
	     tree.

	 *   Bump  the	PORTREVISION  of  the port from the desired source ports
	     tree.

     *	 A port to be merged has a version number  going  backward.   portshaker
	 will not merge the port and will emit a warning.

IMPLEMENTATION NOTES
   Options order
     portshaker will update specified source ports tree and then merge specified
     target ports trees regardless of the order of the -U, -u, -M and -m options
     order.

   Special behaviour
     When executed without any argument, portshaker will update all source ports
     trees  and then merge all target ports tree, behaving like when -UM options
     are provided.

ENVIRONMENT
     The following environment variables affect the execution of portshaker:

     portshaker_config_dir  If set, overrides the default configuration location
			    /usr/local/etc.  This is mostly useful  for  running
			    portshaker in a continuous integration environment.

     portshaker_info	    If	set to "YES" portshaker will output extra infor-
			    mation. This is equivalent to using the -v flag.

     portshaker_debug	    If set to "YES" portshaker will output extra  debug-
			    ging information. This is equivalent to using the -v
			    flag twice.

FILES
     /usr/local/etc/portshaker.conf  Default  location of the configuration file
				     containing  descriptive  information  about
				     portshaker target ports trees.

     /usr/local/etc/portshaker.d/*   Default location of portshaker source ports
				     tree update scripts.

SEE ALSO
     portshaker.conf(5), portshaker.d(5)

HISTORY
     portshaker  was  originally designed to tinderbuild the development version
     of both mono-2.0 and gnome-2.24 together. Each project used its  own  merge
     script <mono-merge.sh(8)and marcusmerge(8)> but using both at the same time
     led to conflicts.

     portshaker  has  so  been	developed  as a general purpose solution to con-
     tributed ports tree maintenance.

AUTHORS
     Romain Tartiere <romain@blogreen.org>

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

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

home | help