forked from OSGeo/PROJ
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHOWTO-RELEASE
78 lines (48 loc) · 2.42 KB
/
HOWTO-RELEASE
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Preparing a PROJ.4 Release
==========================
1) Update the version number in configure.ac (in AC_INIT()).
1a) Update the version number in PROJ_BUILD_VERSION in CMakeLists.txt
1b) Update the version number in doc/source/conf.py
1c) Update version numbers in man pages in man/man1/ and man/man3/
2) Update the version number in proj_api.h (#define PJ_VERSION).
2a) Update PROJ_VERSION_MAJOR, PROJ_VERSION_MINOR and PROJ_VERSION_PATCH
in src/proj.h
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".
4a) Increment PROJ_BUILD_VERSION in CMakeLists.txt to follow
libtool versioning
- 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 "autogen.sh" (hopefully on the same machine it was last run on)
5) Update man pages:
./scripts/update_man.sh
The script builds man pages from Sphinx docs, copies them to man/ and commits
them to git.
6) Add a note to the ChangeLog that a new release is being issued, and what
the release number is.
7) Update NEWS file with summary of release changes.
8) Update the year in CITATION
9) If this is a major release, prepare a branch.
git checkout -b 5.0
10) Tag the release
git tag 5.0.0
11) 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.
12) Put these in the proj ftp area on /osgeo/download/proj on
download.osgeo.org. This can be done via scp using a command like the
following.
scp proj-4.4.3.{tar.gz,zip} [email protected]:/osgeo/download/proj
13) Announce the new release on the PROJ.4 and MetaCRS mailing lists.
14) Issue a new release report on GitHub:
https://github.com/OSGeo/proj.4/releases/new
NOTES:
o Information about preparing binary releases, and RPMs should be formalized.
o A "beta" release step should likely be incorporated.