Preparing a PROJ.4 Release ========================== 1) Update the version number in configure.in (in AM_INIT_AUTOMAKE()). 2) Update the version number in proj_api.h (#define PJ_VERSION). 3) Update the version number, and date in src/pj_release.c. 4) Update the version number in the -version-info definition in src/Makefile.am. It consists of "current:revision:age". - If the library source code has changed at all since the last update, then increment revision (c:r:a becomes c:r+1:a). - If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0. - If any interfaces have been added since the last public release, then increment age. - If any interfaces have been removed since the last public release, then set age to 0. 5) Add a note to the ChangeLog that a new release is being issued, and what the release number is. 6) Tag the release with a command like "cvs tag proj_4_4_3". 7) Do a "make dist-all" in the proj root directory. After some grinding this should result in files like proj-4.4.3.tar.gz and proj-4.4.3.zip being created. These are full source distributions. 8) Put these in the proj ftp area on ftp.remotesensing.org. This can be done via scp using a command like the following. scp proj-4.4.3.{tar.gz,zip} remotesensing.org:/ftp/remotesensing/pub/proj 9) Update html/index.html to link to the new release tar/zip files. When committed this updates the web page on remotesensing.org. 10) Announce the new release on the PROJ.4 mailing lists. If the release is particularly significant in terms of features it might also be announced in comp.infosystems.gis, os-remotesensing@remotesensing.org, and freegis-list@intevation.de. 11) Issue a new release report on Freshmeat. http://freshmeat.net/projects/proj.4/ 12) Update the proj.spec file for the new version: - PACKAGE_VERSION - Source0 - %setup line - rm -rf line NOTES: o Information about preparing binary releases, and RPMs should be formalized. o A "beta" release step should likely be incorporated.