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  par-
       ticularly  handy	if you want to use customized ports trees with tinder-
       box / 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	incon-
       sistencies 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 spec-
       ified 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 lo-
			      cation /usr/local/etc.  This  is	mostly	useful
			      for  running portshaker in a continuous integra-
			      tion environment.

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

       portshaker_debug	      If set to	"YES" portshaker will output extra de-
			      bugging 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 ver-
       sion 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 Tartire <romain@blogreen.org>

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

home | help