Preparing a PROJ.4 Release ========================== 1) Update the version number in configure.in (in AC_INIT()). 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. 4.5) Run "automake" and "autoconf". 5) Add a note to the ChangeLog that a new release is being issued, and what the release number is. 6) Update NEWS file with summary of release changes. 7) Update the proj.spec file for the new version: - PACKAGE_VERSION - Source0 - %setup line - rm -rf line 9) Tag the release with a command like "cvs tag -F proj_4_4_3". 10) 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. 11) 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} frankw@upload.osgeo.org:/osgeo/download/proj 12) Announce the new release on the PROJ.4 and MetaCRS mailing lists. 13) Issue a new release report on Freshmeat. http://freshmeat.net/projects/proj.4/ NOTES: o Information about preparing binary releases, and RPMs should be formalized. o A "beta" release step should likely be incorporated.