Ready to tag'n'bag 3.5.0
[geos.git] / HOWTO_RELEASE
blob6d76150ca5ec738ce644477ee2fe2b07690fa477
1 1: Verify that the versions currently set (see 10 and 11 below) make
2    sense for this release.
4 2: Run 'make distcheck', fix any problem with it.
6 3: Generate the ChangeLog by running 'make cl'
8 4: Update the NEWS file (extract most important things from the ChangeLog)
10 5. Commit the new ChangeLog and NEWS files.
12 6: Tag the release:
13    $ base=http://svn.osgeo.org/geos/
14    $ svn copy -m "Tagged release MAJOR.MINOR.PATCH" \
15                 $base/trunk $base/tags/MAJOR.MINOR.PATCH
17 7: Export the tag and 'make dist-bzip2'. 
18    $ svn export $base/tags/$rev
19    $ cd $rev
20    $ ./autogen.sh && ./configure && make dist-bzip2
22 8: Verify that you can unpack and build the tarball
24 9: Copy the tarball to upload.osgeo.org:/osgeo/download/geos
26 10: Increment all the version numbers for the next release, as below.
28 11: Increment CAPI_INTERFACE_X in configure.in
29    - For a release with no interface changes just bump REVISION.
30      [ Even if *nothing* changed in CAPI ]
31    - Adding interfaces, bump CURRENT/AGE, set REVISION to 0.
32    - Deleting interfaces / compatibility issues - bump CURRENT, others to zero
33      [ THIS MUST BE CAREFULLY AVOIDED ]
35 12: Increment release version:
36    - In configure.ac
37    - In include/geos/version.h.vc 
38    - In capi/geos_c.h.in
39      - VERSION_PATCH for bugfixes/improvements (even breaking C++ API)
40      - VERSION_MINOR for NEW interfaces in the C lib
41      - VERSION_MAJOR for SUBSTANTIAL additions or C lib ABI break
42        [ THIS MUST BE CAREFULLY AVOIDED ]
43    - In main CMakeLists.txt main one
44       - VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH
45       - CAPI_INTERFACE_*
47 13: Update wiki page http://trac.osgeo.org/geos/ at Download section
48     - Add latest release
49     - Remove previos patch level release (if any)
51 14: Announce 
52