Releasing
From AbiWiki
NOTE: the instructions on this page are for the current development release (2.9.x). For a stable release these instructions are very similar, but still different. These notes should be updated to also accommodate the stable release in the future.
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 no-one commits changes while you prepare the release
Updating the version number
You need to bump the (micro) version number in a number of places, if it hasn't been done already:
- In the abiword module, update the version number in the following files:
configure.in src/wp/main/win/AbiWord.exe.x86.MANIFEST src/wp/main/win/AbiWord.exe.amd64.MANIFEST
- In the abiword-docs module, update the version number in the following files:
configure.ac
- For the abiword-msvc2008 module, start MSVC, open the solution and perform the following steps:
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: DESCRIBE THIS STEP] 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 MSVC solution, and set the active configuration to "Release Memory Optimized"
- Build the installer with Build -> Build Solution
The installer will be created in the ./Setup/NSISv2/ folder of the abiword-msvc2008 module (or was it in ./Setup?).
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 <pre> * Upload the tarballs and Windows binary to abisource.com (replacing x.y.z with the actual AbiWord version and assuming the three files are located in the current directory): <pre> 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 on abisource.com (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
- Update the symlink to the latest release on abisource.com (replacing x.y.z with the actual AbiWord version):
cd /home/www/downloads/abiword rm latest-dev ln -s x.y.z latest-dev
Updating the website & announcing the new release
First, checkout the website repository. The svn root is at:
svn+ssh://<username>@svn.abisource.com/svnweb/www.abisource.com/trunk
- 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]
- 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.