Projects/Plague

From FedoraProject

< Projects(Difference between revisions)
Jump to: navigation, search
(Documentation)
 
(3 intermediate revisions by 2 users not shown)
Line 18: Line 18:
 
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.
 
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 [http://cvs.fedora.redhat.com/viewcvs/extras-buildsys/?root=fedora here] .
+
Plague code is stored in Fedora CVS [http://cvs.fedoraproject.org/viewvc/extras-buildsys/?root=fedora here] .
  
 
To check out the current CVS code :
 
To check out the current CVS code :
* <code>export CVSROOT=:pserver:anonymous@cvs.fedora.redhat.com:/cvs/fedora</code>
+
* <code>export CVSROOT=:pserver:anonymous@cvs.fedoraproject.org:/cvs/fedora</code>
 
* <code>cvs login</code> (press enter)
 
* <code>cvs login</code> (press enter)
 
* <code>cvs checkout extras-buildsys</code>
 
* <code>cvs checkout extras-buildsys</code>
  
 
An example of the web client, as used by Fedora Extras, is [http://buildsys.fedoraproject.org/build-status/ here] .
 
An example of the web client, as used by Fedora Extras, is [http://buildsys.fedoraproject.org/build-status/ here] .
 +
 +
Much of the code can be found [http://nb.fedorapeople.org/cvsfedora/extras-buildsys/ here]
  
 
== Documentation ==
 
== Documentation ==
Line 32: Line 34:
 
Commented example configurations can be found here:
 
Commented example configurations can be found here:
  
 +
* [http://nb.fedorapeople.org/cvsfedora/extras-buildsys/README README]
 
* [[Projects/Plague/BuilderConfig|  Builder configuration]]  
 
* [[Projects/Plague/BuilderConfig|  Builder configuration]]  
 
* [[Projects/Plague/ServerConfig|  Server configuration]]  
 
* [[Projects/Plague/ServerConfig|  Server configuration]]  
 
* [[Projects/Plague/Targets|  Target definitions]]  
 
* [[Projects/Plague/Targets|  Target definitions]]  
* [[Projects/Plague/WebSetup|  Web Interface configuration]]  
+
* [[Projects/Plague/WebSetup|  Web Interface configuration]]
  
 
== Todo items ==
 
== Todo items ==

Latest revision as of 20:33, 22 March 2012

Warning (medium size).png
Plague is a old and unmaintained package build system and has been replaced by Koji which uses mock internally. If you are a developer trying to build packages, use mock. If you need a full fledged build system with scheduling and other extra features, use Koji

Contents

[edit] Plague

[edit] 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

[edit] 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 :

  • export CVSROOT=:pserver:anonymous@cvs.fedoraproject.org:/cvs/fedora
  • cvs login (press enter)
  • cvs checkout extras-buildsys

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

Much of the code can be found here

[edit] 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:

[edit] Todo items

  • Investigate autodetection of build server connection method, SSL or non-SSL
  • More complete authorization framework

1. SSL + certificates 2. SSL, user/password authentication 3. plain HTTP, user/pass authentication 4. plain HTTP, no authentication

  • 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)

[edit] Wish List items

-

[edit] Meta-tools

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

[edit] Problems

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