|
|
Line 1: |
Line 1: |
|
|
This developers article has been moved to http://globulation2.devjavu.com/ |
|
==Test phase== |
|
|
|
|
|
|
|
Please go there to find in. Thank you. |
|
* First thing to do when planning a release is to propose it. |
|
|
* If no-one complains branch off a release candidate which '''must''' be used for testing and bugfixing '''only''' - and finally will be released: |
|
|
# cp -a <old directory name> <new directory name> |
|
|
# cd <new directory name> |
|
|
# cvs update |
|
|
# cvs tag -b <release tag name>-rc |
|
|
# cvs update -r <release tag name>-rc |
|
|
Normal glob2 development takes place in the original HEAD (i.e. MAIN) |
|
|
branch as usual. |
|
|
|
|
|
|
|
[[Category:NewWiki]] |
|
* Now announce that you branched off the release candidate and that everyone who wants to help testing or fixing it must do: |
|
|
|
|
|
# cp -a <old directory name> <new directory name> |
|
|
# cd <new directory name> |
|
|
# cvs update -r <release tag name>-rc |
|
|
And also every bugfix must be done for both branches HEAD and the release candidate to avoid cvs merging weaknesses. |
|
|
|
|
|
* Put a line like: "Changes in <release tag> (release soon)" under "Changes since latest release" in: [http://globulation2.org/wiki/Changes Changes] |
|
|
* Increment version number in configure.in |
|
|
* Increment Debian version number by doing debchange -i in debian/ (this must be done by nct on the mailing list) |
|
|
* Do a release dry run, i.e.: all the release steps below except the "cvs tag" and only propagate news about a release candidate - not a release. |
|
|
* Now wait about a week. |
|
|
|
|
|
==Release phase== |
|
|
|
|
|
Here is a detailed description of the remaining release process applied for all the alpha releases: |
|
|
|
|
|
# Go into the directory containing glob2 the release candidate |
|
|
# Check that the local cvs is up to date (through "cvs up") |
|
|
# Check that all the required graphics and maps are in the server (through "./mkdata" and "./mkmap") |
|
|
# Run "make distclean" |
|
|
# Set CXXFLAGS to "-O2 -g $CXXFLAGS", final release could be compiled without the -g and with -O3 but right now -g -O2 is a reasonable tradeoff between speed and debugability |
|
|
# Run "./bootstrap" |
|
|
# Run "./configure"; if any problem occurs, well, the release candidate is not ready for release! |
|
|
# Run "make"; if any problem occurs, well, the release candidate is *still* not ready for release! |
|
|
# Test the resulting binary; if any problem occurs, well, you should fix your code instead of releasing stuff! |
|
|
# Run "cvs tag RELEASE_NAME", in order to tag the CVS so that packagers can fetch this *exact* source tree for this release |
|
|
# Run "make dist" to make the .tar.gz |
|
|
# Run "fakeroot debian/rules binary" to make the debian package |
|
|
# Upload them to glob2@www.globulation2.org:/home/glob2/public_html/releases/X.Y.Z (for example, alpha20 = 0.8.20). |
|
|
# Send a mail to the ml, update web site, savannah news, and rest of the Worlds about the "Good news" ;-) |
|