
                        How to do a GIMP release
                      ----------------------------
                  a check-list for doing a GIMP release


 ( ) Check that you have working ssh access to ftp.gimp.org and that you
     are a member of the ftp group.

 ( ) Check that ftp.gimp.org has enough space to upload the release and to
     place it into the FTP area. If not, make place or ask Yosh to do that.

 ( ) Check that you have admin access to the GIMP product on
     bugzilla.gimp.org and to the news section on www.gimp.org, or that
     someone can do the changes for you.

 ( ) Check if NEWS, authors.xml (and the generated AUTHORS), README or
     INSTALL need to be updated, as well as any release notes on
     gimp.org. Don't forget to add any "Index of new symbols in GIMP
     2.x" to the gtk-doc generated devel-docs.

 ( ) Does the splash screen need to be changed?

 ( ) Bump the version number to an even micro in configure.ac and
     commit this change. It should be the version number of the
     release you are about to make. Releases always have even micro
     numbers.

 ( ) Make dist tarballs:

     [ ] Start with a checkout of the GIMP tree. Make sure the checkout
         is up to date, clean from uncommitted changes.

     [ ] Run 'git clean -x -d -f' (Warning: you will lose any files that
         are not added).

     [ ] Run 'git diff'. This should not generate any output, or your
         tree has local modifications.

     [ ] Run ./autogen.sh --enable-gtk-doc

     [ ] Run 'make' to do a complete build of the source tree.

     [ ] Run 'make distcheck'. Avoid passing make -j since that can
         cause mysterious fails.

     [ ] If changes to generated files are made by the above command
         (run 'git diff' to find out), commit+push them and repeat from
         the beginning of this sub-section.

     [ ] If there are problems reported by 'make distcheck', fix
         them. If you made changes in the tree to get 'make distcheck'
         running, commit+push them and repeat from the beginning of this
         sub-section.

     [ ] If 'make distcheck' passed and created tarballs, go to the next
         item.

 [ ] A successful run of the 'make distcheck' would create the final
     dist tarballs. It will include a ChangeLog generated from the 'git
     log'. Note that we don't bother with any release commit, that's
     what tags are for (see below).

 ( ) Use md5sum to create a checksum of the tarball (tar.bz2).

 ( ) Upload the tarball (tar.bz2) and the .md5 file to your home directory
     on ftp.gimp.org.  Keep a copy of the .md5 file around.

 ( ) Tag the release (don't forget to push the tag)
        git tag -s GIMP_2_x_y
        git push origin GIMP_2_x_y

 ( ) Move the tarball and the .md5 file to its final destination in the
     FTP area (/ftp/pub/gimp/v2.x).

 ( ) Update the 0.0_LATEST-IS- file in the directory on the FTP server.

 ( ) Change permissions of the new files to make them writable by the 'ftp'
     group. This will allow other members of this group to correct mistakes
     and to update the 0.0_LATEST-IS- file next time.

 ( ) Add the new version to the GIMP product on bugzilla.gimp.org.

 ( ) Check out or update the 'gimp-web' module and change
     downloads/index.htrw.  Commit this change, the web server should
     then update itself soon (usually less than an hour).

 ( ) Bump the version number (past the tagged version) in configure.ac
     to the next odd micro and commit this change. GIT version always
     have odd micro numbers.

 ( ) Grab a properly chilled beverage and enjoy yourself.

 ( ) Give the mirrors a reasonably long time to update, then announce the
     release on gimp.org and on the GIMP mailing lists (don't forget
     gimp-announce).
