forked from resiprocate/resiprocate
-
Notifications
You must be signed in to change notification settings - Fork 3
/
RELEASE-PROCESS.txt
110 lines (69 loc) · 2.85 KB
/
RELEASE-PROCESS.txt
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
reSIProcate release process
===========================
This document explains the process for building a release of the
reSIProcate software.
Deliverables
------------
The only official deliverable is the tarball, for example,
resiprocate-1.8.0.tar.gz
As a courtesy to users, a contrib tarball is also produced,
containing some third party code:
resiprocate-contrib-1.8.0.tar.gz
Building of binary packages (e.g. for Debian, RPM, OpenCSW) is
done after the tarball release. That is not covered here.
Workspace
---------
Obtain a release branch from SVN, using the git-svn tool.
git-svn is used because it makes it easier to build a clean tarball
(without the risk of distributing .svn/* by mistake)
git svn clone \
--trunk=https://svn.resiprocate.org/rep/resiprocate/main/branches/release-1.8 \
resip-1.8
cd resip-1.8
Version/tag
-----------
Here we give an example for building the release v1.8.5:
Update version information and tag it:
vi configure.ac (update the version and ABIVERSION numbers)
git add configure.ac
git commit -m 'Update to version 1.8.5'
git svn dcommit (send changes back to SVN)
svn copy -m 'release: Tag 1.8.5' \
https://svn.resiprocate.org/rep/resiprocate/branches/resiprocate-1.8 \
https://svn.resiprocate.org/rep/resiprocate/tags/resiprocate-1.8.5
Bootstrap
---------
The bootstrap must always be done on the same version of autotools
for consistency. The currently endorsed version is the autotools
distributed in Debian 7.0 (wheezy). If another version is to be used,
it should be discussed on the mailing list and noted in this document.
autoreconf --install
Make a tarball
--------------
build/release-tarball.sh
* this script will call configure && make dist
* any previous configure settings will be overridden, so you
may want to preserve a copy of config.status and config.log
or just do this operation from a workspace that is independent
of your normal development workspace
Make the contrib tarball
------------------------
build/contrib-tarball.sh
Sanity check on tarball
-----------------------
Extract the tarball to /tmp/some-folder/resiprocate-1.8.5
cd /tmp/some-folder/resiprocate-1.8.5
./configure && make -j 12 check
Distribute the tarball
----------------------
sha256sum resiprocate-1.8.5.tar.gz
Upload the tarball to the pre-release section of the web site
Send a PGP signed email to the developers list announcing that
a release candidate has been built. Other developers may test the tarball.
Include the SHA-256 checksum in the PGP signed email.
Confirm the release
-------------------
Upload the tarball to the official download page
Send a PGP signed email to the resip-announce and users lists
announcing that the release candidate is now an official release.
Include the SHA-256 checksum in the PGP signed email.