From Fedora Project Wiki

Revision as of 11:14, 30 December 2012 by Mschwendt (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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:

user-ca-cert = ~/.fedora-upload-ca.cert
server-ca-cert = ~/.fedora-server-ca.cert
user-cert = ~/.fedora.cert

email = email_address_you_use_with_your_fedora_extras_cvs_acct

use_ssl = True
address =
allow_uploads = False

4. Test your connection by running:

plague-client list_builders

You should see something like:

------------------------------------------------------------------------------------------           x86_64 amd64 ia32e noarch i386 i486 i586 i686 athlon     alive           i386 i486 i586 i686 athlon noarch x86_64 amd64 ia32e     unavailable               unavailable               x86_64 amd64 ia32e noarch i386 i486 i586 i686 athlon     alive                      unavailable                  ppc ppc32 noarch     alive                      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

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