Releasing

From Gnash Project Wiki

Jump to: navigation, search

Contents

Generally Good Habits

To assist the release process, two things would be useful:

  1. Add significant changes to the relevant Releases page as they are made. Even if they are not world-changing, it shows what is new since the last release (which make it easier to write the release announcement). It's easier to remove minor changes from the list than to go through the ChangeLog months later.
  2. Update the documentation (man pages, user manual, reference manual) as you go with any user visible changes. After updating, run make update-preformats to copy the new output doc to the preformatted area.

Release Process

How to get to a release

  • Look for any useful but unapplied: patches.
  • Look for any critical or Blocker bugs: bugs.
  • Announce the code freeze two weeks before it'll happen.
  • Test, test, test.
  • Verify the Releases page has a link to the coming release, and put it in shape.
  • Put out a call on gnash-dev for updated Translations, preferably in its own email so it doesn't get overlooked.
  • Update translation (po) files.
  • Make sure distcheck passes, and make deb and make rpm build correct packages.
  • Run 'make DISTCHECK_CONFIGURE_FLAGS="CXXFLAGS=-O0 --disable-testsuite" distcheck' for different values of renderer, gui, and media handler.
  • Tag via 'bzr tag release_#_#_#_start'
  • Make release branch via 'bzr branch trunk release_#_#_#',
  • Change version in branch, update the NEWS file.
  • Announce release branch and email gnash-dev for community testing.
  • Test, test, test.
  • Generate the generated documentation
  • Generate a ChangeLog from bazaar
  • Test, test, test.
  • Merge any changes made to the release branch to trunk, except the version number.

Making a release candidate

  • Run make check to make sure all the test cases PASS
  • Make sure all the documentation is up to date.
  • Make Debian packages via make deb. Go to this page on Packaging for more details on this process.
  • Make Redhat packages via make rpm. Go to this page on Packaging page for more details on this process.
  • Upload packages to getgnash.org:/var/www/html/getgnash.org/incoming so the deb and rpm repositories get updated with the new files
  • Announce release candidate to gnash-dev for testing

Making the final release

  • Release the files by making a tarball via make dist
  • Create the directive files for the release files following this procedure: Automated FTP Uploads to GNU.org.
  • Copy the man and HTML documentation into GNU's Gnash page .../manual/.
  • Upload the signed packages and directive files.
  • Edit GNU's Gnash page, your savannah login should be able to change those files if you have gnash commit privileges.
  • Send release announcement emails.
  • Make an announcement blog entry on gnashdev.org. Remember to select "Promote to front page" in the Publishing Options.

Release Checklist

This is a short list of things to do to make the release itself. Read the procedures for uploading to the gnu.org ftp site [1].

  • Make sure the FSF has your public keys so you can upload
  • Write a release announcement.
  • Create directive files for the upload
  • Upload tarballs to getgnash.org
  • Upload tarballs to gnu.org
  • Make sure the tarballs are on gnu.org
  • Update the web pages, including manuals and Doxygen
  • Send an announcement to:
    • gnu-announce@gnu.org
    • info-gnu@gnu.org
    • gnash@ gnu.org
    • gnash-dev@ gnu.org
    • http://www.osflash.org (news)
    • savannah project page (news)
    • free software directory
    • freshmeat