#!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.
Packages
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.
Web Interface
In addition to the commandline tool (koji
), there is a web-interface available at [1] .
Fedora Certificates
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 (~).
Koji config
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.
Example Commands
Some examples of common use of the koji client:
- Listing jobs:
koji list-tasks
- 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
Makefile aliases
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:
make build
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).