[GRASS5] Release Suggestion - HOWTO-RELEASE

Frank Warmerdam warmerda at gdal.velocet.ca
Mon Jan 21 09:30:41 EST 2002


On Sat, Jan 19, 2002 at 11:29:05PM +0100, Bernhard Reiter wrote:
> Markus raised the issue that it is about one working day for him 
> to release a grass version as tarball. This process has to be easier
> for him. Thus the following was suggested by Bernhard:
> 
> 	a) Markus will only release source tarball.

Markus, etc,

I can understand that producing a release can be a substantial amount of
work for something as large and complicated as GRASS.  I just wanted to
suggest one procedure that has helped me.  I now keep a HOWTO-RELEASE
file in each of my projects which lists the set of things I must do each
release.  

In theory this is mainly to make it easier for someone else to do a release
if I should be hit by a truck or something.  However, I also find I can
produce a source release substantially quicker with a detailed set of notes
on what needs to be done.  It also makes sure all the "release specific" 
information gets updated properly. 

I have attached my HOWTO-RELEASE from PROJ.4 as an example.  

I think it would be helpful to have something similar for GRASS. 

Best regards,

-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent



	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 at remotesensing.org, 
   and freegis-list at intevation.de.  

11) 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. 



More information about the grass-dev mailing list