release-howto.txt 4.71 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 pentagon.gnome.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 download area. If not, make
     place or ask Michael Natterer or Michael Schumacher to do that.
13

14
 ( ) Check that you have admin access to the GIMP product on
15 16
     bugzilla.gimp.org and commit access to the gimp-web module, or
     that someone can do the changes for you.
17

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 28
 ( ) 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.
29

30 31 32 33
     [ ] In configure.ac, modify gimp_micro_version accordingly.

     [ ] In configure.ac, modify gimp_interface_age accordingly.

34
 ( ) Make dist tarballs:
35

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

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

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

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

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

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

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

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

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

 [ ] A successful run of the 'make distcheck' would create the final
65 66 67 68 69 70 71
     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).

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

73 74 75
 [ ] Bump the version number (past the tagged version) in configure.ac
     to the next odd micro and commit this change. GIT versions always
     have odd micro numbers.
76

77
 [ ] Publish dist tarballs:
78

79
     [ ] Use md5sum to create a checksum of the tarball (tar.bz2).
80

81 82 83
     [ ] Upload the tarball (tar.bz2) and the .md5 file to your home
         directory on pentagon.gnome.org.  Keep a copy of the .md5
         file around.
84

85 86
     [ ] Copy the tarball and the .md5 file to its final destination
         in the download area (/srv/ftp/pub/gimp/v2.x).
87

88 89
     [ ] Update the 0.0_LATEST-IS- file in the corresponding directory
         on the download server.
90

91 92 93 94
     [ ] 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.
95

96
 [ ] Add the new version to the GIMP product on bugzilla.gimp.org.
97

98 99 100 101 102
 [ ] Check out or update the 'gimp-web' module, check out its testing
     branch.

     [ ] Change the file content/downloads/index.md to reference the
         new source release.
103

104
     [ ] Create a news items for the release in content/news/
105

106 107 108 109 110 111 112 113 114 115 116 117 118 119
     [ ] Commit and push the changes, the web server should then
         update itself soon (every 5 minutes). Go to
         https://testing.gimp.org to verify the changes.

     [ ] If everything is correct, check out the gimp-web master
         branch and merge the change from the testing branch.

     [ ] Push the changes, the web server should then update itself
         soon (every 15 minutes). Got to https://www.gimp.org to
         verify the changes.

 [ ] Grab a properly chilled beverage and enjoy yourself.

 [ ] Give the mirrors a reasonably long time to update, then announce
120 121
     the release on gimp.org and on the gimp-user and gimp-developer
     mailing lists.
122 123 124 125

     [ ] Due to the tendency of news sites to front-run release
         articles even before actual announcements appear, just
         publish everything as fast as possible.