File: RELEASE-PROCESS.txt

package info (click to toggle)
resiprocate 1%3A1.9.7-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 36,456 kB
  • ctags: 27,123
  • sloc: cpp: 195,346; xml: 12,515; sh: 11,986; ansic: 6,807; makefile: 2,182; php: 1,150; python: 300; objc: 91; sql: 85; perl: 21; csh: 5
file content (110 lines) | stat: -rw-r--r-- 2,917 bytes parent folder | download | duplicates (2)
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
109
110

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.