Guide to Making Changes
An outline of the process for modifying code in the Systems project.
If packages are available from elsewhere, they should be used instead of maintaining our own versions. Details in ThirdPartyPackage.
Patching
A good guide to Version Control with Subversion
The procedure for updating/patching and testing new RPMs is:
- Submit a new ticket? if there is not one already.
- Any changes to spec files (see: Contrib/WritingSPEC), etc. should be placed in an appropriately named branch in: source:/branches.
- The whole tree does not need to be copied to the branch. It would be sufficient to copy only the directory containing files you are working on.
- TODO: More guidelines!
- Further input should be noted as a comment for the ticket, providing links to relevant information and source changes if possible.
- The maintainer will then:
- merge the fix into the trunk
- build an RPM (see: Contrib/CompileRPMS) and manually test with: rpm -Uvh package.rpm. Depending on the SPEC file changes, manually installing may leave an old version - in that case it should be removed first.
- check that the correct changes have been made. Hint: touch /tmp/start before installing and use find / -xdev -type f -cnewer /tmp/start
- if necessary, remove the package, cleanup and re-install the old version (if any) using yum before trying again
- The test RPM will be placed in the development YumRepository for testing by at least one other person.
- Try to release new RPMs in a batch and prepare appropriate Release Notes, eg. ReleaseNotes/080125
- Once tested, move the RPM to the production YumRepository. TODO: Maintain brief release notes?
- An extra copy should be placed in the CentOS 5 repository.
- RPMS should not be left in the development repository.
- Resolve the ticket as fixed, with comments explaining details of who tested and how.
In practise, the maintainer of a package will not normally create tickets or even branches for some changes. But it is very important that new versions are tested by others using the development repository.
![(please configure the [header_logo] section in trac.ini)](/trac/systems/chrome/common/arcs-general.png)