release-howto.txt 4.13 KB
Newer Older
1 2 3 4 5 6

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


7 8
 ( ) Check that you have working ssh access to download.gimp.org and
     that you are a member of the gimpadmins group.
9

10 11 12
 ( ) 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.
13

14 15 16 17
 ( ) 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.

18 19 20 21
 ( ) 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.
22

23
 ( ) Does the splash screen need to be changed?
24

25 26 27
 ( ) 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
28 29
     numbers. Don't forget to also bump the interface age for stable
     releases. For devel releases, read libtool-instructions.txt.
30

31
 ( ) Make dist tarballs:
32

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

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

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

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

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

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

49 50 51
     [ ] 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.
52

53 54 55 56 57 58 59 60 61 62 63 64
     [ ] 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).
65 66 67 68

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

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

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

75 76 77 78
 ( ) 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.
79 80 81

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

82 83 84 85
 ( ) 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.
86 87 88 89 90

 ( ) 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
91
     then update itself soon (usually less than an hour).
92

93
 ( ) Bump the version number (past the tagged version) in configure.ac
94
     to the next odd micro and commit this change. GIT version always
95 96 97
     have odd micro numbers. Don't forget to also bump the interface
     age for stable releases. For devel releases, read
     libtool-instructions.txt.
98 99

 ( ) Grab a properly chilled beverage and enjoy yourself.
100

101 102 103
 ( ) 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.