From Fedora Project Wiki

Revision as of 18:29, 2 July 2009 by Till (talk | contribs) (→‎What is plague-client?: make build does not run plague anymore)

plague-client FAQ


This is still under construction - please feel free to add to and correct this document.

What is plague-client?

Plague is a package build system. plague-client is a python script which communicates build requests and queries to the build system via xml-rpc. plague-client can be used to query the status of jobs as well as submit and cancel build requests.

How do I set up and use the plague-client?

1. Install the plague-client from Fedora repository if you don't already have it installed

yum install plague-client

2. The plague build system requires a number of certificates to communicate securely. If you're a fedora maintainer you should already have a .fedora.cert file in your homedir. You'll need two more certs:

  • The certificate for the Certificate Authority used to sign the user keys. That's available from fedora-upload-ca.cert save that as ~/.fedora-upload-ca.cert
  • The certificate for the Certificate Authority used to sign the buildsystem's server keys. That's available from fedora-server-ca.cert save that as ~/.fedora-server-ca.cert

3. Run plague-client list once. This will create a ~/.plague-client.cfg file. Edit this file so it looks like this:

[Certs] 
user-ca-cert = ~/.fedora-upload-ca.cert
server-ca-cert = ~/.fedora-server-ca.cert
user-cert = ~/.fedora.cert

[User] 
email = email_address_you_use_with_your_fedora_extras_cvs_acct

[Server] 
use_ssl = True
address = https://buildsys.fedoraproject.org:8887
allow_uploads = False

4. Test your connection by running:

plague-client list_builders

You should see something like:

Builders:
------------------------------------------------------------------------------------------
xenbuilder1.fedora.redhat.com           x86_64 amd64 ia32e noarch i386 i486 i586 i686 athlon     alive
xenbuilder2.fedora.redhat.com           i386 i486 i586 i686 athlon noarch x86_64 amd64 ia32e     unavailable
xenbuilder3.fedora.redhat.com               unavailable
hammer2.fedora.redhat.com               x86_64 amd64 ia32e noarch i386 i486 i586 i686 athlon     alive
ppc1.fedora.redhat.com                      unavailable
ppc2.fedora.redhat.com                  ppc ppc32 noarch     alive
ppc3.fedora.redhat.com                      unavailable

If that doesn't work report your error to the fedora-devel mailing list.

How do I request a package build?

The general syntax for enqueing a build job is:

plague-client build [package_name]  [package_cvs_tag]  [release_number] 

For example:

plague-client build yum-utils yum-utils-0_2-1_fc4 fc4

This is the command that is issued when you type make build in your build directory.

How do I request that a previously processed build job is requed?

This avoids having to bump the release tag in the spec file and redoing the make tag and make build steps. The general syntax is:

plague-client requeue [job_id] 

For example:

plague-client requeue 3

How do I list jobs running on the build system?

The general syntax is

plague-client list [email <addr>]  [status <stat>]  [result <result>]  [uid <uid>] 

For example, to list all failed jobs:

plague-client list status failed

and to list all building jobs:

plague-client list status building

and to list jobs by user who requested them:

plague-client list email skvidal@phy.duke.edu

How do I cancel a build request?

The general syntax is

plague-client kill [job id] 

For example

plague-client kill 354

How can I access previous build logs?

Previous build logs are available for a short duration on

They are kept for a longer time on