Releasing
From AbiWiki
Contents |
Prerequisites before making a new release
- Make sure you have commit access to both the "svnroot" and "svnweb" SVN repositories
- Make sure you can build AbiWord on both a Linux and a Windows system.
- Make sure everyone has committed all the stuff that needs to go into the new release
- Make sure a "make distcheck" completes successfully on the latest version of trunk
- Make sure the MSVC release build works (and the debug build too ofcourse)
- Make sure noone commits changes while you prepare the release
Updating the version number
Update the version number (if it hasn't been done already)
- In the abiword module: Update the version number in configure.in and src/wp/main/win/AbiWord.exe.x86.MANIFEST en AbiWord.exe.amd64.MANIFEST
- In the abiword-docs module: update the version number in configure.ac
- In MSVC:
1. Select all projects, except the LibAbiWord and WindowsInstaller projects 2. Right click on a project, and select Properties 3. Under Configuration Properties -> C/C++ -> Preprocessor [TODO: VERSION BUMB, SIMILAR TO UPDATING THE DEPENDENCY LIST FOR EVERY PROJECT] 4. In the WindowsInstaller project, bump the version number in abi_appdef.nsh
Creating tarballs
- On a Linux system, tag the release and generate the abiword and abiword-docs tarballs with the script below, setting the RELEASE and SVNUSER variables to the proper values.
NOTE: running make dist for the abiword-docs requires that you have abiword installed on your system.
- !/bin/bash
RELEASE="2.9.2" SVNUSER="uwog"
mkdir abiword-release-dir-$RELEASE cd abiword-release-dir-$RELEASE
svn copy -m "Tag release $RELEASE" svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword/trunk svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword/tags/release-$RELEASE svn copy -m "Tag release $RELEASE" svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword-docs/trunk svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword-docs/tags/release-$RELEASE svn copy -m "Tag release $RELEASE" svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword-msvc2008/trunk svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword-msvc2008/tags/release-$RELEASE
svn export svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword/tags/release-$RELEASE abiword-$RELEASE svn export svn+ssh://$SVNUSER@svn.abisource.com/svnroot/abiword-docs/tags/release-$RELEASE abiword-docs-$RELEASE
cd abiword-$RELEASE ./autogen.sh && make distcheck
cd ../abiword-docs-$RELEASE ./autogen.sh && make dist
Building a Windows Installer
- Checkout the tags you've just created for both the AbiWord and AbiWord-MSVC2008 modules
- Open the MSVC2008 solution, and set the active configuration to "Release Memory Optimized"
- Build the installer with Build -> Build Solution
Making the new release available
Uploading tarballs
- Create the directories on AbiSource.com to hold the tarballs and binaries, by ssh-ing into AbiSource and executing the following steps (replacing x.y.z with the actual AbiWord version):
cd /home/www/downloads/abiword mkdir x.y.z cd x.y.z mkdir source mkdir Windows
- Upload the tarballs and Windows binary to abisource.com (replacing x.y.z with the actual AbiWord version):
scp abiword-x.y.z.tar.gz uwog@abisource.com:/home/www/downloads/abiword/x.y.z/source scp abiword-docs-x.y.z.tar.gz uwog@abisource.com:/home/www/downloads/abiword/x.y.z/source scp abiword-setup-x.y.z.exe uwog@abisource.com:/home/www/downloads/abiword/x.y.z/Windows
- Create the SHA1SUM hashes (replacing x.y.z with the actual AbiWord version):
cd /home/www/downloads/abiword/x.y.z/source sha1sum * > SHA1SUM cd /home/www/downloads/abiword/x.y.z/Windows sha1sum * > SHA1SUM
Updating the website & announcing the new release
- Update AbiSource.com
- vi ./download/index/phtml
vi ./download/development.phtml vi ./abiword_version.inc $abiword_dev_version = "2.9.0"; index.html
[TODO: create and upload the changelog]
[TODO: UPDATE SYMLINKS]
- Send a mail to the abiword-dev and abiword-user mailing list announcing the new release. It's generally a good idea to copy the release notes into the mail.