Building an RPM - Koji Build System
This document describes how to contribute and patch RPMs using the ClearOS build system. If RPM packaging is new to you, then a review of the following document should be your first stop: Building an RPM - The Basics. If you need to get familiarized with the ClearOS development and source code environment, take a look at Building an RPM - ClearOS Development Environment.
We will go into more detail below, but here are the general steps to updating a package:
- Prepare your environment
- Get the source code
- Create patches and source changes
- Update the spec file
- Test build the new version
- Commit your changes
- Submit the build
Prepare Your Environment
The ClearOS build system uses the Koji build software. You can find status information on builds via a web-based interface or through the koji command line. Before we can get started with Koji, you will need to request a developer account from [email protected]. You will receive instructions on how to copy the necessary configuration files for into your ~/.koji directory. The required files:
- koji_ca_cert.crt
- usercert.pem
- username.pem
- username.p12
- config
Please make sure the file permissions on the .pem and .p12 files are strict:
chmod 0400 *.pem *.p12
Now check to see if you can connect to the remote build system:
$ koji list-targets
Name Buildroot Destination ------------------------------------------------------------------------------------- clear6 clear6-build clear6-updates-candidate clear6-infra clear6-build clear6-infra-candidate clear6-override clear6-build clear6-override clear6-paid clear6-build clear6-paid-candidate clear7 clear7-build clear7-updates-candidate clear7-infra clear7-build clear7-infra-candidate clear7-override clear7-build clear7-override clear7-paid clear7-build clear7-paid-candidate contribs6 contribs6-build contribs6-candidate contribs6-override contribs6-build contribs6-override contribs6-paid contribs6-build contribs6-paid-candidate contribs7 contribs7-build contribs7-candidate contribs7-override contribs7-build contribs7-override contribs7-paid contribs7-build contribs7-paid-candidate