Overview#
This page describes the process to release IDM Console Framework on Fedora.
Authentication#
Obtain a Kerberos ticket for FEDORAPROJECT.ORG account and COPR authentication token.
Getting Source Package#
The repository for IDM Console Framework source package for Fedora is located at https://src.fedoraproject.org/rpms/idm-console-framework. To clone the repository locally:
$ fedpkg clone idm-console-framework
$ cd idm-console-framework
The repository can be forked for development. To add the fork into the local repository:
Updating Version and Release Numbers#
Follow this guideline to update the version number, release number, and phase in the spec template:
version: ..
release: 0.1, 0.2, …, 1, 2, …
phase: a1, a2, …, b1, b2, …
For pre-releases, set the version number to ..0, set the release number to 0., and phase to -:
Version: 1.2.0
Release: 0.1%{?_timestamp}%{?_commit_id}%{?dist}
%global _phase -a1
For initial release, keep the version number as ..0, set the release number to 1, and comment out the phase:
Version: 1.2.0
Release: 1%{?_timestamp}%{?_commit_id}%{?dist}
# %global _phase -a1
For upstream updates (i.e. upstream bug fixes), increment the in the version number, set the release number to 1:
Version: 1.2.1
Release: 1%{?_timestamp}%{?_commit_id}%{?dist}
# %global _phase -a1
For downstream patches (e.g. platform-specific patches), keep the version number as .., increment the release number:
Version: 1.2.1
Release: 2%{?_timestamp}%{?_commit_id}%{?dist}
# %global _phase -a1
See also:
Merging Spec Changes#
To merge the spec template with the actual spec files:
$ meld ``\ ``idm-console-framework
/idm-console-framework.spec ``\ ``Fedora/idm-console-framework
``/idm-console-framework.spec ``
In the actual spec files, add a change log entry for the new release in downstream spec file (unless there is one already that has not been released):
* Tue May 29 2018 Dogtag PKI Team <pki-team@redhat.com> - 1.2.0-1
- Rebased to IDM Console Framework 1.2.0
Notes:
Do not override changes that were done downstream unless they were done improperly.
Do not add a change log entry in the upstream spec template.
There might be changes that cannot be merged. This is OK.
Commit Upstream Changes#
Commit all changes to upstream:
$ git commit -a -m "Updated version number to x.y.z-r"
Create a local tag with the following commands:
$ git tag v1.2.0
For pre-releases, append the phase name to the version number, e.g. v1.2.0-a1.
Update Source Tarball#
Generate a tarball with the following commands:
$ cd ``\ ``idm-console-framework
$ ./build.sh --source-tag=v1.2.0 src
Import the source tarball with the following commands:
$ cd ``\ ``Fedora/idm-console-framework
$ fedpkg new-sources ~/build/idm-console-framework/SOURCES/idm-console-framework-1.2.0.tar.gz
Then verify with the following commands:
$ fedpkg local
$ fedpkg lint
Creating Test Build#
Create a COPR build with the following command:
$ cd ``\ ``Fedora/idm-console-framework
$ fedpkg copr-build @pki/10.6 --nowait
or create a scratch build with the following commands:
$ fedpkg srpm
$ fedpkg scratch-build --nowait --srpm idm-console-framework-1.2.0-1.fc28.src.rpm
Once the test build is complete, push the changes and tag upstream:
$ cd ``\ ``idm-console-framework
$ git push origin master
$ git push origin v1.2.0
Commit Source Package Changes#
Commit the changes to master (i.e. rawhide):
$ cd ``\ ``Fedora/idm-console-framework
$ git commit -m "Rebased to IDM Console Framework 1.2.0"
$ git push origin master
Creating Koji Build for Rawhide#
Create a Koji build:
$ fedpkg build --nowait
If necessary, the task can be monitored with the following command:
``$ koji watch-task ``
Once the build is complete, tag the source package repository:
$ git tag idm-console-framework-1.2.0-1.fc29
$ git push origin idm-console-framework-1.2.0-1.fc29
Creating Koji Build for Current Fedora#
Cherry pick the changes from master into the current Fedora (e.g. f28):
Then create a Koji build:
$ fedpkg build --nowait
If necessary, the task can be monitored with the following command:
``$ koji watch-task ``
Tag package repository:
$ git tag idm-console-framework-1.2.0-1.fc28
$ git push origin idm-console-framework-1.2.0-1.fc28
Creating Bodhi Update for Current Fedora#
Once the Koji build is complete, submit a Bodhi update:
$ bodhi updates new \
The update will appear here.
Creating GitHub Release#
Go to dogtagpki/idm-console-framework and edit the release.
Include links to the new releases: