This document is about what steps are to perform to release a new build of widelands.
We release one release candidate before each release, to make sure no completely stupid mistakes creep into a release. The steps for preparing the RC are exactly the same as the steps for preparing the final release, to ensure that problems with the release problems are found with the release candidate.
On the agreed-upon date, release the release candidate.
From that point on, only bugfixes and translation/documentation updates are allowed into trunk (trivial changes to image and sound data might be allowed, but be careful!)
Approximately one week after the release candidate, release the final build.
These points are intended to help in creating a tarball that can easily be extracted and run in-place (e.g. in a user's home directory). For general Linux build info, see Using the SCons build system, among others.
Here are some things you need to be aware of:
The locale directory must be correct; otherwise, Widelands will not find translations. Adding the parameters install_prefix=. bindir=. datadir=. localedir=./locale to the scons command line should work, but be sure to test the binary package before the actual release.
Some Linux distributions still don't have GLIBC 2.4 (i.e. Debian Etch). To support them, hack build/scons-tools/scons_configure.py and replace the compile flag -fstack-protector-all by -fno-stack-protector. You can check for GLIBC dependencies on the final executable using strings widelands | grep GLIBC.
These are the suggested steps for building the package:
Extract the release source package.
Build the widelands executable using SCons, but see the points above.
Perform some basic test (e.g. that translations are found).
Delete everything that is only relevant for source packages.
The following should be an exhaustive list of the files and subdirectories in the main Widelands directory:
campaigns
ChangeLog
COPYING
CREDITS
fonts
locale
maps
music
pics
sound
tribes
txts
widelands
worlds
Delete SConscript files in subdirectories.
Create the tarball.
Extract the tarball into a new directory and perform some basic tests before uploading.
TODO: This section should contain (or point to) documentation concerning how to build binary packages for different platforms:
Linux, installable (i.e. .deb/.rpm packages that are integrated into the FHS hierarchy)
Mac OS X
others?
Delete all source releveant stuff; the remaining files in the main Widelands directory should be: campaigns ChangeLog COPYING CREDITS fonts locale maps music pics sound tribes txts widelands worlds