release_management.txt 4.36 KB
Newer Older
1 2 3 4 5
===================================
Sofia-SIP release management README
===================================

:Author: Kai Vehmanen <kai -dot vehmanen -at- nokia -dot- com>
6
:Version: 20060616-11
7 8 9 10 11
:Formatting: reStructuredText, http://docutils.sourceforge.net/rst.html

Introduction
============

12
This README contains instructions for making new Sofia-SIP releases.
13 14 15 16 17 18 19 20 21

Links to other resources
========================

sofia-sip/README.developers

The release notes
=================

22
The release notes should contain the following sections:
23 24 25 26 27

- about Sofia-SIP
    - copied verbatim from sofia-sip/README
- list of changes since last release
    - maintained in sofia-sip/RELEASE
28 29 30
    - see diff between cvs/darcs between previous and
      this version
    - written in freshmeat.net "Changes:" style 
31 32
- notes on API/ABI interface changes 
    - maintained in sofia-sip/RELEASE
33 34
    - all changes in public interfaces, plus other
      notes that developers should be aware of
35 36
- contributors to this release
    - maintained in sofia-sip/RELEASE
37 38 39
    - also sofia-sip/AUTHORS should be updated (file
      should list all persons/companies who have code/scripts/etc
      copyrighted to them in the sofia-sip tree)
40

41 42 43
See the RELEASE.template file for a full list of release note
sections.

44 45 46 47
Making the release tarball 
==========================

- update the version number in sofia-sip/configure.ac
48 49 50 51
- make sure the library versions are correct, and you've
  frozen all library interfaces (with correct entries in
  ChangeLog files), see README.developers for more information
  on library versioning in general
52
- make sure everything that is supposed to be in the
53
  release is in the master darcs tree
54 55
- run 'make distcheck' to verify everything is ready for
  release (requires automake-1.7 or newer)
56
- tag repos (darcs and any slave trees) with release tag
57 58
  'rel-sofia-sip-x_y_z', where x_y_z is the version number (see
  README.developers):
59 60 61 62
    sh> darcs tag -m"rel-sofia-sip-x_y_z"
    sh> cvs tag rel-sofia-sip-x_y_z
- take a fresh checkout of the release using the release tag
- create the release tarbaal with "make distcheck"
Pekka Pessi's avatar
Pekka Pessi committed
63 64 65
- calculate md5 and sha1 hashes using md5sum and sha1sum utils,
  and copy the values to the release-notes (see below)

66 67
Creating the release notes and updating the website
===================================================
68 69 70

- combine the sofia-sip/RELEASE contents with
  the template found from sfnet_www/templates/relnotes.txt
Pekka Pessi's avatar
Pekka Pessi committed
71
- store the resulting release notes to 
72
  sfnet_www/relnotes/relnotes-sofia-sip-x.y.z.txt
73
- add explicit link to the release notes to 
74
  sfnet_www/download.html (three most recent releases,
75
  see guidelines in the html comments)
76 77
- update sfnet_www/index.html to mention the latest
  release
78
- commit the change to sf.net website CVS, and run the 
79 80
  sfnet_www/put_online.sh script at the sourceforge.net
  shell server
Pekka Pessi's avatar
Pekka Pessi committed
81

Pekka Pessi's avatar
Pekka Pessi committed
82 83 84 85 86 87 88 89 90 91
Uploading the release to sourceforge.net
========================================

- use the the 'Admin' -> 'File releases' tool for
  creating a new release
- to upload the file, you can use for example ncftpput:
  ncftpput -u anonymous -p USER@users.sourceforge.net upload.sourceforge.net /incoming/ sofia-sip-x.y.z.tar.gz
- attach the release notes (relnotes-sofia-sip-x.y.z.txt)
  to the file release

Pekka Pessi's avatar
Pekka Pessi committed
92 93 94 95 96 97 98
Announcing releases
===================

- send an announcement mail, containing the
  release notes, to sofia-sip-devel@isource.nokia.com
- post a news item to freshmeat.net 'sofia-sip'
  project (current project owner: Kai Vehmanen)
99 100 101 102 103

After release
=============

- replace the RELEASE file with RELEASE.template, and
104
  commit it to master source repository (see sofia-sip/README.developers)
105
- change version in configure.ac from "X.Y.Z" to 
106
  "X.Y.Zwork" (as it is in many cases unknown what the 
107 108
  next version will be)
- make a "tree open for development" commit
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

Syncing CVS and darcs (or some other VCS)
=========================================

Some tips for synching from/to different version controlled
tree.

- As CVS cannot trace file addition/move/removals, you need
  to be extra careful with these. With darcs, you can use the
  'darcs changes' command to track down all fileops since
  last synchronization.

- Always tag the src-tree with "syncuser-fromvcs-to-tovcs-yearmmdd".

- Add a top-level ChangeLog entry that documents all the 
  changes made outside the target tree (what, who and when -
  for example produced with the "darcs changes --summary" 
  command).