HOWTO-Release
Revision as of 11:52, 30 June 2007 by Fingolfin (talk | contribs) (→Binaries: added porter build instructions)
How to make a ScummVM release.
This is work in progress and needs to be completed!
Preparations
- Making the release plan
- Telling people about it, making sure everybody knows what is going on
Testing & Branching
- Identify release critical (show stopper) bugs and get people to fix them.
- Identify other important bugs and get people to fix them.
- Get even more people to fix all the other bugs, if possible :-).
- Get people to do lots of testing, possibly by asking for help via a news item.
- Collect all that information (e.g. in the Wiki). See Release Testing
Preparing the source
- You have to update the versions in all relevant files. There is a script,
tools/update-version.pl
meant to help you with this. It will generate/update the following files:- base/internal_version.h
- dists/macosx/Info.plist
- dists/redhat/scummvm.spec
- dists/scummvm.rc
- In addition, review the following files for version and copyright year updates:
- README
- NEWS
- Make sure package descriptions are up-to-date:
- dists/redhat/scummvm.spec
- Make source tarballs, post them in the SF.net FRS.
- There is a script
toolsdist-scummvm.sh
, which does this automatically.
- There is a script
Binaries
- Get porters to make binaries.
- Porter must follow our filename convention, which goes like this: "scummvm-VERSION-PORT.EXTENSION". For example: "scummvm-1.0.0-macosx.dmg". Do not use special names like "EScummVM" or "ScummVMDS". The only exclusion from this requirement is Debian.
- Here is a list of files porters should include in their release archives:
- AUTHORS
- COPYING
- NEWS
- README (generic ScummVM one)
- modern.zip (if your port uses new GUI)
- modern.ini (if your port uses new GUI)
- pred.dic (from dists directory)
- kyra.dat (from engine-data/tags/release-X-Y-Z module)
- queen.tbl (from engine-data/tags/release-X-Y-Z module)
- sky.cpt (from engine-data/tags/release-X-Y-Z module)
- your build binary
- your build-specific README (optional)
- ...
- Update the website internally (i.e. update the version in the repository), but do not yet put these changes online.
News & Notification
Write a news blurb (or rather multiple to be used in the following). Usually, you want a bit longer one for the website, a list for Versiontracker, something with proper english sentences for Freshmeat, etc....
- Write a news item for our website (and as template for news items on other sites).
- Update documentation page to link to the new README.
- Update link to release notes (on downloads.php) to point to the correct new release notes in the SF.net FRS.
- Update / notify various sites:
- Create a SF.net news item (Ender, Fingolfin, Sev, ...)
- Freshmeat (Ender, Fingolfin, ...)
- Versiontracker.com (Fingolfin)
- Update heise software directory (Fingolfin)
- ... more ?
- Put the updated web site online
- In the File Release System, use the "Notify" feature to make sure everybody who's interested in new releases gets a mail