HOWTO-Release

From ScummVM :: Wiki
Revision as of 22:25, 11 January 2008 by Wjp (talk | contribs) (→‎Binaries: update engine-data files)
Jump to navigation Jump to search

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.

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 dists/engine-data)
      • queen.tbl (from dists/engine-data)
      • sky.cpt (from dists/engine-data)
      • lure.dat (from dists/engine-data)
      • 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:
  • 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