From Free IPA
Here are some notes on how I do a new release of IPA. This
Once we've confirmed that the tree is frozen, that all bugs we want fixed are fixed, I create a new tag. Here is a live example of when I tagged IPA v2 alpha 2.
In a writable git tree that is up-to-date:
% git checkout master % git fetch % git rebase origin/master
If you haven't bumped the version do that in VERSION and commit it. I use a commit message that looks like:
Become IPA v2 alpha 4 (1.9.0.pre4)
Make the tag:
% git tag -a -m "tagging IPAv2 alpha 2 1.9.0.pre2" alpha_2-1-9-0 % git push --tags
If doing a pre release pull a fresh tree to do the builds into a separate directory:
% git clone git://git.fedorahosted.org/git/freeipa.git freeipa-alpha2 % cd freeipa-alpha2
Make absolutely sure I have the right code by switching to the tag:
% git checkout alpha_2-1-9-0
Make srpms:
% make IPA_VERSION_IS_GIT_SNAPSHOT=no srpms
If we are releasing through the Fedora build system I take the tar ball from dist/sources and move it into the Fedora build system, update the spec, etc.
Regardless of Fedora or internal release the tar ball is pushed to freeipa.org.
If we are releasing through freeipa.org (like when we do an alpha or beta release) I also do the following.
Make builds using mock for whatever platforms we are releasing:
% mock -r fedora-11-i386 --rebuild dist/srpms/ipa-1.9.0.pre2-0.fc11.src.rpm % mock -r fedora-11-x86_64 --rebuild dist/srpms/ipa-1.9.0.pre2-0.fc11.src.rpm % mock -r fedora-12-i386 --rebuild dist/srpms/ipa-1.9.0.pre2-0.fc11.src.rpm % mock -r fedora-12-x86_64 --rebuild dist/srpms/ipa-1.9.0.pre2-0.fc11.src.rpm
Once the builds are done I populate them in a repo structure:
F11/i586 F11/x86_64 F12/i686 F12/x86_64
I also create a symbolic link on F11 from i386 to i586.
Then within each subdirectory I run createrepo
Then I tar up the whole thing and ship it up to freeipa.org (which lacks the createrepo command). Finally I untar it the devel subdirectory and the packages are ready for download.
Wiki pages to be updated
The following wiki pages need to be modified to reflect the new release:
- Changelog - add basic info on what has changed, use page as a guide
- Downloads - add pointer to new tarball
- Main_Page - add info on new release
Filesystem to be updated
The freeipa wiki is hosted on et.redhat.com. You need to provide your ssh public key in order to log into it.
Our web root is located at /var/www/sites/freeipa.et.redhat.com/
The updated tarball should be place both in downloads/devel/sources/ and downloads/src
We do not provide builds on full releases, those can be found in the Fedora repos.


