How to do a GIMP release ---------------------------- a check-list for doing a GIMP release ( ) Check that you have working ssh access to download.gimp.org and that you are a member of the gimpadmins group. ( ) Check that download.gimp.org has enough space to upload the release and to place it into the FTP area. If not, make place or have somebody 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. Don't forget to also bump the interface age for stable releases. For devel releases, read libtool-instructions.txt. ( ) 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 download.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 ( ) Copy the tarball and the .md5 file to its final destination in the FTP area (/srv/ftp/pub/gimp/v2.x). Really use cp not mv because a moved file from the home directory will need extra selinux magic to make it readable by the web server. ( ) 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 'gimpadmins' 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. Don't forget to also bump the interface age for stable releases. For devel releases, read libtool-instructions.txt. ( ) 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-user and gimp-developer mailing lists.