aboutsummaryrefslogtreecommitdiff
path: root/HOWTO-RELEASE
blob: 05ae04b9dab12eb0da1dd17bf7e6ab689f1117a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
	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. 

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.