Difference between revisions of "HOWTO-Release"

From ScummVM :: Wiki
Jump to navigation Jump to search
(→‎Binaries: added porter build instructions)
Line 31: Line 31:


=== Binaries ===
=== Binaries ===
TODO:
* Get porters to make binaries.
* Get porters to make binaries. Note: We have a filename convention, which goes like this: "scummvm-VERSION-PORT.EXTENSION". For example: "scummvm-1.0.0-macosx.dmg".
** 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.
* Update the website internally, but do not yet put these changes online.
** 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 ===
=== News & Notification ===

Revision as of 11:52, 30 June 2007

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 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:
  • 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