gimp/devel-docs/release-howto.txt

104 lines
4.1 KiB
Plaintext

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.