Projects/Plague

= Plague =

News

 * December 15, 2006: Current head branch is 0.5.0 and has some stability issues.
 * March 03, 2006:   Version 0.4.4 tagged & released
 * August 23, 2005:  Version 0.3.4  tagged & released
 * August 11, 2005:  Version 0.3.1 tagged & released

About
Plague is a distributed package build system, suitable for building a whole Linux distribution (like Fedora Core), or for building additional packages (like Fedora Extras). It currently uses other programs like yum,  mock , and createrepo  to power much of the buildroot setup, rebuild, and repository management process.

The Plague build server communicates with builders on remote machines (or localhost) using XMLRPC, optionally with SSL support for security. Packagers submit build requests for either the source package itself, or a CVS tag, also using XMLRPC with optional SSL support. SSL is used for security, to ensure that packages are not modified or otherwise changed during transport, and also for identity verification to ensure that package maintainers and builders are who they say they are. SSL support is highly encouraged, but not required.

For packagers, both a command-line interface and a web client are included. The web client is mainly for viewing build system status and individual build job status, not for enqueueing packages or for builder management.

Plague code is stored in Fedora CVS here.

To check out the current CVS code :
 * (press enter)
 * (press enter)

An example of the web client, as used by Fedora Extras, is here.

Much of the code can be found here

Documentation
At the moment, the documentation is pretty scarce. Furthermore, the included README file for plague is not upgraded to the current code base.

Commented example configurations can be found here:


 * README
 * Builder configuration
 * Server configuration
 * Target definitions
 * Web Interface configuration

Todo items
1. SSL + certificates 2. SSL, user/password authentication 3. plain HTTP, user/pass authentication 4. plain HTTP, no authentication
 * Investigate autodetection of build server connection method, SSL or non-SSL
 * More complete authorization framework
 * Build Client affinity (tie jobs to a particular build client, or at least allow jobs to be moved between clients)
 * zap old database entries
 * builder self-cleanup
 * server cleanup (expiring data for old, failed builds)

Wish List items
-

Meta-tools

 * integrate sqlite support into extras-push so pushed packages can be marked as such in the buildsys jobdb

Problems
If you encounter a bug running plague, please file it in Bugzilla, product "Fedora Hosted Projects", component plague.