Gtk2-Perl Project Release Checklist

Prerequisites

Procedure

  1. Update NEWS with a summary of everything in ChangeLog since the last release.
  2. Change the version number in
  3. Do a clean rebuild to ensure that the version number change is good. (Can affect tests, for example.) Important: do make disttest to verify the MANIFEST contains all the correct files. (Don't forget to remove the sandbox directory before rerunning Makefile.PL.)
  4. Update ChangeLog and commit. Should usually look like this:
    cvs commit -m "Unstable release 1.072" ChangeLog META.yml README NEWS Gtk2.pm
  5. Rerun Makefile.PL. Otherwise make dist will complain that the Makefile may be out of date, since the timestamp of the pm file will have changed with the commit.
  6. If you're paranoid, you may make test again, especially in other sandboxes. Fix any problems (bad skip counts, etc)
  7. Tag the release. e.g.
    cvs tag -R rel-1-07-2
  8. make dist
    Warning: Do not chain together the disttest and dist targets on the same make commandline; this will cause the distdir not to be remade between the targets, and your tarball will contain object files and other junk.
  9. Upload the tarball to sourceforge:
    ftp upload.sf.net
    anonymous
    bin
    hash
    cd incoming
    put Gtk2-1.072.tar.gz
    ^D
    
  10. Go to the sourceforge File Release System page and create a new release.
    1. use the "(unstable)" suffix for the release name of unstable releases.
    2. paste README (without the CVS header) in for the release notes.
    3. paste the current NEWS entry for the Change Log.
    4. remember to check "preserve my preformatted text".
    5. add your source tarball and set its file type.
    6. send the release notice email.
  11. Send an announcement to gtk-perl-list. Assuming the template resembles the one for Glib and Gtk2:
    1. update the references to the version number.
    2. update the cvs tag name
    3. paste the current NEWS entry
    4. paste the release url
    5. double check for sanity; if it's an API freeze release, note that in the second paragraph.
  12. Make a news announcement on the homepage.
  13. Special stuff:
    Gtk2 releases only:
    Add a release notice on the freshmeat project page.
    Platform Bindings releases only:
    After all releases are finished, send an email to language-bindings, release-team, and gnome-announce, following Torsten's template.
    Stable Platform Bindings releases only:
    update the gnomefiles.org page.