Releases: whisperity/distcc-driver
Releases · whisperity/distcc-driver
v2.0.1
Bugfix release to prevent Shells always exiting when calling distcc_build
.
What's Changed
- fix: Do not
exec
the main script, it kills the shell by @whisperity in #3
v2.0
This patch is a complete reimplementation of the distcc-driver
tool from the ground up.
Major improvements vs. v1
- Support raw TCP mode for job distribution
- Manage SSH tunnels in the background automatically instead of requiring the user to establish them preemptively
- Support for DistCC v3 servers, query the number of jobs dispatchable to a remote, instead of having the user manage the values manually on the clients
- Scaling of jobs distributed to remote workers based on available memory (if reported, see distcc/distcc#521 and whisperity/distcc-docker#1)
Migration guide from v1
script usage to v2
Suppose you have the following SSH config (~/.ssh/config
) with your previously established tunnels:
Host machine-1
HostName machine-1.company.org
LocalForward 36320 localhost:3632
Host machine-2
HostName machine-2.company.org
LocalForward 36321 localhost:3632
And the following v1
environment variables:
export DISTCC_PORTS="36320/16 36321/24"
export DISTCC_NUM_ONLY_LOCAL=16
export DISTCC_NUM_FIRST_LOCAL=4
export DISTCC_NUM_LOCAL_SCALING="yes"
export DISTCC_LOCAL_MEM=2048
DISTCC_PORTS
+ ~/.ssh/config
→ DISTCC_AUTO_HOSTS
If machine-1
and machine-2
are directly available over your network, you can drop the SSH use completely:
export DISTCC_AUTO_HOSTS="machine-1.company.org machine-2.company.org"
Otherwise, if you still have to use SSH tunnels, you can drop the LocalForward
directives, and set DISTCC_AUTO_HOSTS
to use SSH:
Host machine-1
HostName machine-1.company.org
Host machine-2
HostName machine-2.company.org
export DISTCC_AUTO_HOSTS="ssh://machine-1 ssh://machine-2"
Other configuration variables
# export DISTCC_PORTS="36320/16 36321/24"
# ⚠️🚧 'DISTCC_PORTS' is no longer used!
# 'DISTCC_AUTO_HOSTS' is to be used instead, but it has a different format
# and an extended meaning, see above!
# export DISTCC_NUM_ONLY_LOCAL=16
export DISTCC_AUTO_FALLBACK_LOCAL_JOBS=16
# export DISTCC_NUM_FIRST_LOCAL=4
export DISTCC_AUTO_EARLY_LOCAL_JOBS=4
# export DISTCC_NUM_LOCAL_SCALING="yes"
# ⚠️🚧 'DISTCC_NUM_LOCAL_SCALING' is no longer used!
# Scaling is automatically executed, the configuration variable lost its purpose.
# export DISTCC_LOCAL_MEM=2048
export DISTCC_AUTO_COMPILER_MEMORY=2048
v1.0
The original distribution script for DistCC version 2.y