Version 30 (modified by 14 years ago) (diff) | ,
---|
String Freeze
A string freeze should be announced about a week before each release, or longer if a large number of strings have changed. This is a guarantee from the developers to the translators that no more strings will be added or changed so that the translators aren't trying to hit a moving target.
- In a clean workspace, cd into the po/ directory and run this command. It will print warnings if there are files that need to be added to either POTFILES.in or POTFILES.skip:
intltool-update --maintain
- Send an email to translators@… and devel@… announcing the string freeze.
Pre Release
- Commit any pending translation updates (remember to strip location info from them before committing as described in TipsForTranslators)
- Check there are no open tickets for this release milestone
- Make sure the date and version number are correct in ChangeLog, ChangeLog.win32, ChangeLog.API and po/ChangeLog
- Update NEWS
- Change version number at the top of configure.ac, set
purple_version_suffix
andgnt_version_suffix
to[betaN]
for betas and[]
for a full release - Check pidgin.spec.in, make sure that "%define beta 7" is commented/uncommented appropriately
- Run '
make distcheck
' and try to find crazy people to fix any problems it turns up - Make a test tarball and RPM and test to make sure everything works
- Verify that win32 builds succeed
- Make sure the Help->About logo is either unversioned or specifies the right version number
Release
- Tag the repository.
TAG=v2.0.2 # for example mtn tag $REVISION $TAG
- Check out the tagged code
mtn -d $DATABASE co -r t:$TAG pidgin-$VERSION
- Run
./autogen.sh
- Run
make release
This will perform the following steps (which can also be done by hand at this point):- Run
make distcheck
(optional; usemake packages
instead ofmake release
to skip this in automation. It really is a good idea, though!) - Verify that the revision tagged with this version's tag name (v$VERSION) is the same as the revision in the current workspace, and that there are no changes to the current workspace
- Run
make dist-gzip
andmake dist-bzip2
- Sign the two tarballs
gpg -ab pidgin-$VERSION.tar.gz gpg -ab pidgin-$VERSION.tar.bz2 gpg --verify pidgin-$VERSION.tar.gz.asc pidgin-$VERSION.tar.gz gpg --verify pidgin-$VERSION.tar.bz2.asc pidgin-$VERSION.tar.bz2
- Build the SRPM
rpmbuild -ts --sign --with avahi --with dbus --with meanwhile \ --with sasl --with silc --with tcl pidgin-$VERSION.tar.bz2
- Run
- Upload the two tarballs, the two signatures, and the src.rpm
- Make RPMs for lots of distributions and upload them
- Install the src.rpm
rpm -Uvh pidgin-$VERSION-0.src.rpm
- Edit $rpmbuild/SPECS/pidgin.spec and append the distro name to the end of the Release line. For example, ".fc5"
- Build
rpmbuild -bb --sign --with avahi --with dbus --with meanwhile \ --with sasl --with silc --with tcl $rpmbuild/SPECS/pidgin.spec
- Install the src.rpm
- Wait a few hours and let people test.
- Update the Pidgin website
- Change inc/version.inc.php (only for full releases, not for betas)
- Update the ChangeLog in pidgin.im web mtn (this is used by the release notification plugin)
- Update the ChangeLog
- Announce via sourceforge
- Send announcement email to devel, packagers, and support mailing lists
Post Release
- Increment version number in configure.ac & set purple_version_suffix and gnt_version_suffix to [dev]
- Update freshmeat.net
- Update #pidgin topic and on-join message
- Update Trac Version field to include new version
- Add a new Trac milestone for the new version
- "Complete" old milestone
- Bump the auto-close script to target auto-closed bugs to the new milestone
- Update "The Road to" on WikiStart to list tickets for the new version