Charm: distcc
Summary
Simple distributed compiler client and server
Charm Store
juju deploy cs:precise/distcc-2
Maintainer
Juan Negron
Series
precise
Description
distcc is a program to distribute compilation of C or C++ code across several machines on a network. distcc should always generate the same results as a local compile, is simple to install and use, and is often significantly faster than a local compile. distcc does not require all machines to share a filesystem, have synchronized clocks, or to have the same libraries or header files installed.
Links
Repository   Bugs
lp:~charmers/charms/precise/distcc/trunk
Config
jobs int
zeroconf string
distcc_options string
existing_distcc string
port int
nice int
Details
Readme
distcc is a program to distribute builds of C, C++, Objective C or Objective C++ code across several machines on a network. distcc should always generate the same results as a local build, is simple to install and use, and is usually much faster than a local compile.

distcc does not require all machines to share a filesystem, have synchronized clocks, or to have the same libraries or header files installed. They can even have different processors or operating systems, if cross-compilers are installed.

More information about distcc at: http://www.distcc.org


About this charm

It's a pretty simple charm that provides a peer interface ( distcc-cluster ).  This interface allows you to deploy the distcc charm as a single node and add-unit to create a distcc farm or, deploy x number of them in one command to easily create a distcc farm.

The configurable options are pretty self explanatory and are detailed below:

options:
  port:
    default: 3632
    type: int
    description: Port to use to run distcc
  nice:
    default: 10
    type: int
    description: You can specify a (positive) nice level for the distcc process here
  jobs:
    default: 10
    type: int
    description: You can specify a maximum number of jobs, the server will accept concurrently.
  zeroconf:
    default: false
    type: string
    description: Enable Zeroconf support?# If enabled, distccd will register via mDNS/DNS-SD. It can then automatically be found by zeroconf enabled distcc clients without the need of a manually configured host list.
  distcc_options:
    default: cpp,lzo
    type: string
    description: distcc options for each host in the farm
  existing_distcc:
    default: auto
    type: string
    description: Connect this node to an existing distcc ( host:port ).


Note:  To be able to connect distcc to an _existing_ distcc farm ( by changing the existing_distcc option ), this service needs to be exposed.


Changes  
2012/05/22 Juan L. Negron Adding maintainer field (revno 8)
2012/04/17 Mark Mims typo (revno 7)
2012/04/17 Mark Mims install dig (revno 6)
2012/03/08 Juan L. Negron Changing config.yaml options to their appropriate types (revno 5)
2012/03/05 Juan L. Negron Updated README (revno 4)
2012/03/03 Juan L. Negron Addressing issues found by Clint. re LP:944989 (revno 3)
2012/03/02 Juan L. Negron Adding README (revno 2)
Lint Check
  • warn: all charms should provide at least one thing