#!html <div style="height:66px; width:100%; background-color:#002867;"> <a href = "http://fedoraproject.org/wiki/Infrastructure"> <img style="float:right;padding-top:3px;" src="http://fedoraproject.org/wiki/Infrastructure?action=AttachFile&do=get&target=InfrastructureTeamN1.png" /></a> </div> <HR style="height:2px; background-color:#00578E;" />
Koji Build System
The Koji Build System is Fedora's buildsystem for Fedora 7 and beyond. Packagers use the koji client to request package builds and get information about the buildsystem. Fedora Release Engineering uses koji to tag builds and coordinate updates/releases.
Fedora package maintainers will want to have the
koji package installed on their systems, otherwise, they will be unable to request builds. The koji package is included in the Fedora repositories.
In addition to the commandline tool (
koji), there is a web-interface available at  .
Koji uses three certificates:
- .fedora.cert (specific to the Fedora Maintainer) This cert is generated from this form .
- .fedora-upload-ca.cert (The certificate for the Certificate Authority used to sign the user keys.) It can be downloaded from here .
- .fedora-server-ca.cert (The certificate for the Certificate Authority used to sign the buildsystem's server keys.) It can be downloaded from here .
All of these certificates should be in your homedir (~).
The local client configuration file for koji is
/etc/koji.conf. You should not need to change this from the defaults for building Fedora packages.
Some examples of common use of the koji client:
- Listing jobs:
- Listing only your jobs:
koji list-tasks --mine
- enqueing a job: general syntax is: koji build [options] target URL:
koji build devel 'cvs://cvs.fedoraproject.org/cvs/pkgs?common#yum-utils-0_2-1_fc7'
- requeuing an already-processed job: general syntax is: koji resubmit [options] taskID
koji resubmit 3
For simple build requests, there is an alias in Makefile.common to request koji builds. This enables Fedora packagers to simply cd into the appropriate branch of a package (from a cvs checkout), and run:
This will trigger a build request for the branch. Easy!
Note that all build requests need to be done against tagged trees (run
make tag first).