Man Linux: Main Page and Category List

NAME

       pump - accelerate remote compilation with distcc

SYNOPSIS

       pump BUILD-COMMAND [ARGS]  ...

       eval ‘ pump --startup ‘; BUILD-COMMAND [ARGS]  ...  ; pump --shutdown

DESCRIPTION

       pump  is  part of distcc.  It is used for distcc’s pump mode.  Distcc’s
       pump  mode  accelerates  remote  compilation  with   distcc   by   also
       distributing preprocessing to the servers.

       For  a  detailed  description of pump mode, including most notably some
       important restrictions, see the distcc(1) man page, in  particular  the
       HOW  PUMP-MODE WORKS section and the RESTRICTIONS ON PUMP MODE section.

       The simplest usage is the form
              pump COMMAND [ARG]  ...
       This will start an include server for distcc’s "pump" mode;  optionally
       run  lsdistcc  to  compute  the  distcc  host  list; set some auxiliary
       environment variables; change PATH to use the distcc client in the same
       directory  as  the  "pump"  script;  execute COMMAND with the specified
       ARG(s)  ; and then shut  down  the  include  server.   The  COMMAND  is
       typically  a  parallel build command, such as "make -j80", that will do
       many concurrent invocations of distcc.

       An alternative way of invoking  pump  is  to  explicitly  invoke  "pump
       --startup"  to  start  the include server and "pump --shutdown" to stop
       the include server.  The "pump --startup" command  will  start  up  the
       include  server, and will print out some environment variable settings.
       These environment variables are used to communicate between  the  pump-
       mode "distcc" client and the include server, and to communicate between
       "pump --startup" and "pump --shutdown".  The caller of "pump --startup"
       is  responsible for setting those environment variables before invoking
       "distcc" or "pump --shutdown".

       For example:
              eval ‘pump --startup‘
              make -j80
              pump --shutdown

       Note that distcc’s pump-mode assumes that sources files will not be
        modified during the lifetime  of  the  include  server,  so  modifying
       source files during a build may cause inconsistent results.

INVOKING LSDISTCC

       When  invoked  in either the simple " pump COMMAND [ARG] ... " form, or
       as " pump --startup ", the pump script will invoke lsdistcc    whenever
       DISTCC_POTENTIAL_HOSTS is set and DISTCC_HOSTS isn’t.  It will pass the
       value of DISTCC_POTENTIAL_HOSTS to  lsdistcc  and  use  the  output  of
       lsdistcc to set DISTCC_HOSTS.

OPTIONS

       --help Displays summary instructions.

       --startup
              Starts  an  include server, and outputs the environment variable
              settings needed for distcc(1) or pump --shutdown to access it.

       --shutdown
              Shuts down an include server started up by pump --startup.

ENVIRONMENT VARIABLES

       The following environment variables are all optional.

       DISTCC_LOCATION
              The location of the distcc  bin  directory,  which  is  normally
              inferred  from  the  link-resolved  dirname  of argv[0]. If this
              location is in fact the bin directory inside an installation (as
              will  be  the  case  when  the  pump  script in the installation
              executes), then Python executables and  distcc  itself  will  be
              retrieved from the parent directory of the location.

       DISTCC_POTENTIAL_HOSTS
              The  distcc servers that will be queried by lsdistcc in order to
              produce a value for DISTCC_HOSTS.  This value may  be  unset  or
              null.  In  such  cases, lsdistcc will not be invoked, and distcc
              will use DISTCC_HOSTS or the distcc hosts configuration file, as
              described in the "Host Specifications" section of distcc(1).

       DISTCC_HOSTS
              This   variable   is  passed  through  to  distcc  but  only  if
              DISTCC_POTENTIAL_HOSTS is not set.

       LSDISTCC_ARGS
              Extra arguments to pass to lsdistcc.  See  lsdistcc  --help  for
              more details.

       INCLUDE_SERVER_ARGS
              Extra arguments to pass to the include server.

       PYTHONOPTIMIZE
              If set to "", then Python optimization is disabled.

EXAMPLE

       pump make -j20

BUGS

       If  you  think  you  have  found  a  distcc  bug,  please  see the file
       reporting-bugs.txt in the documentation directory  for  information  on
       how to report it.

AUTHORS

       The  pump  script and distcc’s pump mode were written by Nils Klarlund,
       Manos Renieris, Fergus Henderson, and Craig Silverstein. Please  report
       bugs to <distcc@lists.samba.org>.

LICENCE

       pump is part of distcc.  You are free to use distcc.  distcc (including
       this manual) may be copied, modified  or  distributed  only  under  the
       terms  of  the  GNU  General Public Licence version 2 or later.  distcc
       comes with absolutely no warranty.  A copy of the GPL  is  included  in
       the file COPYING.

SEE ALSO

       distcc(1), distccd(1), include_server(1), gcc(1), and make(1)

                                  9 June 2008                          pump(1)