FreeBSD Manual Pages
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)
NAME | SYNOPSIS | DESCRIPTION | IMPLEMENTATION NOTES | ENVIRONMENT | FILES | SEE ALSO | HISTORY | AUTHORS
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>