Permalink
Browse files

Documentation fixes:

1) Replace http://distcc.samba.org with the new google code location
2) Add favicon.ico from the distcc.samba.org site
3) Use distcc@lists.samba.org as the only distcc mailing list (there
   were at least three mailing lists scattered around the docs, some of
   which don't even exist anymore!)
4) Update man pages and other docs to not use "distcc-pump" anywhere;
   it's now "pump mode" or "distcc's pump mode", or "distcc-pump
   mode".

I also add, to the README, some discussion of scaling to hundreds of
machines.

Reviewed by fergus and klarlund
  • Loading branch information...
1 parent 4f0a258 commit 8a005446f2611fceb0cb719ab10be8561d2724e5 @csilvers csilvers committed May 30, 2008
View
@@ -4,7 +4,7 @@ Author and maintainer emeritus of distcc:
Authors of "pump" functionality, and maintainers of distcc:
- Nils Klarlund <distcc@googlegroups.com>
+ Nils Klarlund <distcc-pump@google.com>
Fergus Henderson
Craig Silverstein
Manos Renieris
View
@@ -6,7 +6,7 @@ Free Software Foundation; either version 2 of the License, or (at your
option) any later version. distcc comes with ABSOLUTELY NO WARRANTY,
for details see the licence.
-Please report any problems to distcc@googlegroups.com.
+Please report any problems to distcc@lists.samba.com.
QUICK SUMMARY
View
@@ -1,7 +1,7 @@
distcc -- a free distributed C/C++ compiler system
- http://distcc.samba.org/
+ http://code.google.com/p/distcc/
by Martin Pool <mbp@samba.org>
@@ -41,7 +41,11 @@ regular gcc options and features work as normal.
distcc is designed to be used with GNU make's parallel-build feature
(-j). Shipping files across the network takes time, but few cycles on
the client machine. Any files that can be built remotely are
-essentially "for free" in terms of client CPU.
+essentially "for free" in terms of client CPU. This is even more true
+in "pump" mode, where the client does not even have to take time to
+preprocess the source files. distcc has been successfully used in
+environments with hundreds of distcc servers, supporting dozens of
+simultaneous compiles.
distcc is now reasonably stable and can successfully compile the Linux
kernel, rsync, KDE, GNOME (via GARNOME), Samba and Ethereal. distcc
View
@@ -38,7 +38,7 @@ server. The distcc server unpacks these files in the
The server also rewrites include options, such as -I's, to reflect the
new locations of the files on the server. The .d and the .o files are
both rewritten as necessary to refer to client-side filenames and
-returned to the distcc-pump client.
+returned to the pump-mode client.
Pump mode is able to distribute compilations up to 10X faster than
plain distcc. But because building also involves linking and perhaps
@@ -47,6 +47,6 @@ variable.
The pump mode was developed to be used with large clusters of distcc
servers, providing hundreds of CPUs. With versions of gcc >= 4.1.1,
-the distcc-pump will probably not show major performance gains using
+pump mode will probably not show major performance gains using
clusters of less than ten CPUs. The preprocessor running on the
workstation is fast enough to keep that many machines busy.
View
@@ -10,7 +10,7 @@ dnl Process this file with autoconf to produce a configure script
# As of 0.6cvs, distcc no longer uses automake, only autoconf.
AC_PREREQ(2.53)
-AC_INIT(distcc, 3.0prerelease3, distcc-pump@google.com)
+AC_INIT(distcc, 3.0prerelease3, distcc@lists.samba.org)
AC_CONFIG_HEADERS(src/config.h)
AC_CANONICAL_HOST
View
@@ -2,7 +2,7 @@
#
# chkconfig: - 60 20
# description: The distcc deamon
-# http://distcc.samba.org
+# http://code.google.com/p/distcc/
#
# processname: distccd
@@ -14,7 +14,7 @@
productivity, speed, time, tool, performance, hardware,
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
- <link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
+ <link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
@@ -14,7 +14,7 @@
productivity, speed, time, tool, performance, hardware,
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
- <link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
+ <link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
View
@@ -11,7 +11,7 @@
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
<meta name="description" content="distcc is a fast, free distributed C and C++ compiler.">
- <link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
+ <link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
View
Binary file not shown.
View
@@ -1,6 +1,6 @@
<html>
<head><title>distcc: a fast, free distributed C/C++ compiler</title>
- <link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
+ <link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
@@ -130,7 +130,7 @@ <h1 class="title">distcc: a fast, free distributed C/C++ compiler</h1>
<a href="http://www.kde.org/">KDE</a>,
<a href="http://www.gnome.org">GNOME</a> (via
<a href="http://www.gnome.org/~jdub/garnome/">GARNOME</a>),
- <a href="http://distcc.samba.org/">Samba</a> and
+ <a href="http://www.samba.org/">Samba</a> and
<a href="http://www.ethereal.com/">Ethereal</a>.
<p>
@@ -11,7 +11,7 @@
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
<meta name="description" content="distcc is a fast, free distributed C and C++ compiler.">
- <link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
+ <link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
@@ -11,7 +11,7 @@
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
<meta name="description" content="distcc is a fast, free distributed C and C++ compiler.">
- <link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
+ <link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
@@ -11,7 +11,7 @@
agents, nfs, libraries, source, headers, workload,
buildfarm, farm, server, cluster, clustered, clustering, MOSIX, OpenMOSIX">
<meta name="description" content="distcc is a fast, free distributed C and C++ compiler.">
- <link rel="SHORTCUT ICON" href="http://distcc.samba.org/favicon.ico">
+ <link rel="SHORTCUT ICON" href="favicon.ico">
<link type="text/css" rel="stylesheet" href="distcc-green.css">
<link type="text/html" rel="top" href="index.html">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
View
@@ -21,7 +21,7 @@ compile, it is simple to install and use, and it is often much faster than a
local compile.
.PP
This version incorporates plain distcc as well as an enhancement called
-pump mode, or distcc-pump.
+"pump mode", or distcc-pump.
.PP
For each job, distcc in plain mode sends the complete preprocessed source code
and compiler arguments across the network from the client to a compilation
@@ -32,7 +32,7 @@ order of magnitude over plain distcc.
.PP
Compilation is driven by a client machine, which is typically the developer's
workstation or laptop. The distcc client runs on this machine, as does make,
-the preprocessor (if distcc-pump mode is not used), the linker, and other
+the preprocessor (if distcc's pump mode is not used), the linker, and other
stages of the build process. Any number of volunteer machines act as
compilation servers and help the client to build the program, by running the
.B distccd(1)
@@ -84,7 +84,7 @@ client due to preprocessing. Such large values may speed up parts of the build
that do not involve C compilations, but they may not be useful to distcc
efficiency in plain mode.
-In contrast, with distcc-pump and say 40 servers, a setting of
+In contrast, using pump mode and say 40 servers, a setting of
.B -j80
or larger may be appropriate even for single-CPU clients.
.PP
@@ -125,9 +125,10 @@ $ export DISTCC_HOSTS='--randomize localhost red,cpp,lzo green,cpp,lzo blue,cpp,
The
.B --randomize
-option enforces a uniform usage of compile servers. To enjoy distcc-pump, you
-will really need 10 or more server CPUs. Wrap your build inside the pump
-command, here assuming 10 servers:
+option enforces a uniform usage of compile servers. While you will
+get some benefit from distcc's pump mode with only a few servers, you
+get increasing benefit with more server CPUs (up to the hundreds!).
+Wrap your build inside the pump command, here assuming 10 servers:
.RS
$ pump make -j20 CC=distcc
@@ -153,9 +154,10 @@ phases are being invoked, and whether the job can be
distributed.
.SH "HOW DISTCC-PUMP MODE WORKS"
-distcc-pump runs the prepreprocessor remotely too. To do so, the preprocessor
-must have access to all the files that it would have accessed if had been running
-locally. distcc-pump therefore gathers all of the recursively included headers,
+In pump mode, distcc runs the prepreprocessor remotely too. To do so,
+the preprocessor must have access to all the files that it would
+have accessed if had been running locally. In pump mode, therefore,
+distcc gathers all of the recursively included headers,
except the ones that are part of the compiler installation, and sends them along
with the source file to the compilation server.
@@ -166,7 +168,7 @@ the file system that is relevant to preprocessing, including symbolic links.
The compiler is then run from the path in the temporary directory that
corresponds to the current working directory on the client.
To find and transmit the many hundreds of files that are often part of a single
-compilation, distcc-pump uses an incremental include analysis algorithm. The
+compilation, pump mode uses an incremental include analysis algorithm. The
include server, which is a Python program started by the pump script wrapper,
implements this algorithm.
@@ -185,7 +187,7 @@ drop by close to an order of magnitude over plain distcc. Additionally,
compression time can drop by a factor of ten to one-hundred over plain distcc's
time for compressing the preprocessed files.
-As a result, distcc-pump mode is able to push out files up to about ten times
+As a result, distcc in pump mode is able to push out files up to about ten times
faster than distcc. The total build time may drop 30-70% for large builds
compared to plain distcc mode.
@@ -303,7 +305,7 @@ source and so will never get a cache hit if it is run from distccd or
distcc. It must be run only on the client side and before distcc to
be any use.
-distcc-pump mode is not compatible with ccache.
+distcc's pump mode is not compatible with ccache.
.SH "HOST SPECIFICATIONS"
A "host list" tells distcc which machines to use for compilation. In
order, distcc looks in the
@@ -483,7 +485,7 @@ messages. Compression is usually economical on networks slower than
source tree.
.PP
Enabling compression makes the distcc client and server use more CPU time, but
-less network traffic. The added CPU time is insignificant for distcc-pump. The
+less network traffic. The added CPU time is insignificant for pump mode. The
compression ratio is typically 4:1 for source and 2:1 for object code.
.PP
Using compression requires both client and server to use at least
@@ -727,7 +729,7 @@ parts, but rather runs the whole thing locally.
distcc-pump mode reverts to plain distcc mode for source files that contain
includes with absolute paths (either directly or in an included file).
.PP
-The .o files produced by discc-pump will be different from those produced
+The .o files produced by discc in pump mode will be different from those produced
locally: for non-ELF files, the debug information will specify compile
directories of the server. The code itself should be identical.
.PP
@@ -741,7 +743,7 @@ includes as found in parts of the boost library. The include server will time
out and distcc will revert to plain mode.
.PP
Other known bugs may be documented on
-.I http://distcc.samba.org/
+.I http://code.google.com/p/distcc/
.SH "AUTHOR"
distcc was written by Martin Pool <mbp@sourcefrog.net>, with the
co-operation of many scholars including Wayne Davison, Frerich Raabe,
@@ -755,5 +757,5 @@ absolutely no warrany. A copy of the GPL is included in the file
COPYING.
.SH "SEE ALSO"
distccd(1), ccache(1), gcc(1), make(1)
-.I http://distcc.samba.org/
+.I http://code.google.com/p/distcc/
.I http://ccache.samba.org/
View
@@ -280,7 +280,7 @@ Directory for temporary files such as preprocessor output. By default
/tmp/ is used.
.SH "SEE ALSO"
distcc(1), ccache(1), gcc(1), make(1)
-.I http://distcc.samba.org/
+.I http://code.google.com/p/distcc/
.SH "BUGS"
IP-based access control is not secure against attackers able to spoof
TCP connections, and cannot discriminate different users on a client.
@@ -53,4 +53,6 @@ distccmon\-text
distcc was written by Martin Pool <mbp@sourcefrog.net>, with the co\-operation of many scholars including Wayne Davison, Frerich Raabe, Dimitri Papadopoulos and others noted in the NEWS file. Please report bugs to <distcc@lists.samba.org>.
.SH "SEE ALSO"
.LP d
-distccd(1), ccache(1), gcc(1), make(1) http://distcc.samba.org/ http://ccache.samba.org/
+distccd(1), ccache(1), gcc(1), make(1)
+http://code.google.com/p/distcc/
+http://ccache.samba.org/
View
@@ -29,18 +29,19 @@ The simplest usage is the form
.I COMMAND [ARG]
\& ...
.RE
-This will start an include server for distcc-pump;
+This will start an include server for distcc's "pump" mode;
optionally run
.B lsdistcc
to compute the distcc host list;
set some auxiliary environment variables;
-change PATH to use the distcc-pump "distcc" client;
+change PATH to use the distcc client in the same directory as the "pump"
+script;
execute
.I COMMAND
with the specified
.I ARG(s)
\& ;
-and then shutdown the include server.
+and then shut down the include server.
The
.I COMMAND
is typically a parallel build command, such as
@@ -52,7 +53,7 @@ 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 distcc-pump "distcc" client and the include
+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".
@@ -66,7 +67,8 @@ make -j80
pump --shutdown
.RE
.PP
-Note that distcc-pump assumes that sources files will not be modified during
+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.
.SH "INVOKING LSDISTCC"

0 comments on commit 8a00544

Please sign in to comment.