GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PORTSHAKER (8)

NAME

portshaker - Maintain a set of ports trees.

CONTENTS

Synopsis
Description
     Handling conflics
Implementation Notes
     Options order
     Special behaviour
Environment
Files
See Also
History
Authors

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 particularly handy if you want to maintain ports trees in a tinderbox.

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 conflics

When merging a target ports tree, portshaker will try to detect inconsistencies and report conflicts.

Such conflics 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 efectively 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_info If set to "YES" portshaker will output extra information. This is equivalent to using the -v flag.
portshaker_debug
  If set to "YES" portshaker will output extra debugging 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 leaded to conflicts.

portshaker has so been developed as a general purpose solution to contributed ports tree maintenance.

AUTHORS


.An Romain Tarti�re Aq romain@blogreen.org
Search for    or go to Top of page |  Section 8 |  Main Index


Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.