123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- ===================================
- Sofia-SIP release management README
- ===================================
- :Author: Kai Vehmanen <kai -dot vehmanen -at- nokia -dot- com>
- :Version: 20060809-12
- :Formatting: reStructuredText, http://docutils.sourceforge.net/rst.html
- Introduction
- ============
- This README contains instructions for making new Sofia-SIP releases.
- Links to other resources
- ========================
- sofia-sip/README.developers
- The release notes
- =================
- The release notes should contain the following sections:
- - about Sofia-SIP
- - copied verbatim from sofia-sip/README
- - list of changes since last release
- - maintained in sofia-sip/RELEASE
- - see diff between cvs/darcs between previous and
- this version
- - written in freshmeat.net "Changes:" style
- - notes on API/ABI interface changes
- - maintained in sofia-sip/RELEASE
- - all changes in public interfaces, plus other
- notes that developers should be aware of
- - contributors to this release
- - maintained in sofia-sip/RELEASE
- - 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)
- See the RELEASE.template file for a full list of release note
- sections.
- Making the release tarball
- ==========================
- - basics: check system clock of the build host ;)
- - update the version number in sofia-sip/configure.ac
- - 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
- - make sure everything that is supposed to be in the
- release is in the master darcs tree
- - run 'make distcheck' to verify everything is ready for
- release (requires automake-1.7 or newer)
- - tag repos (darcs and any slave trees) with release tag
- 'rel-sofia-sip-x_y_z', where x_y_z is the version number (see
- README.developers):
- 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
- sh> darcs get http://sofia-sip.org/repos/sofia-sip --tag=rel-sofia-sip-1_yy_z
- - create the release tarball with "make distcheck" (make sure depcomp et
- al libtool scripts are correctly created)
- - calculate md5 and sha1 hashes using md5sum and sha1sum utilities,
- and copy the values to the release-notes (see below)
- Creating the release notes and updating the website
- ===================================================
- - combine the sofia-sip/RELEASE contents with
- the template found from sfnet_www/templates/relnotes.txt
- - store the resulting release notes to
- sfnet_www/relnotes/relnotes-sofia-sip-x.y.z.txt
- - add explicit link to the release notes to
- sfnet_www/download.html (three most recent releases,
- see guidelines in the html comments)
- - update sfnet_www/index.html to mention the latest
- release
- - commit the change to sf.net website CVS, and run the
- sfnet_www/put_online.sh script
- 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 rsync:
- rsync -avP -e ssh sofia-sip-x.y.z.tar.gz USER@frs.sourceforge.net:uploads/
- - attach the release notes (relnotes-sofia-sip-x.y.z.txt)
- to the file release
- Announcing releases
- ===================
- - send an announcement mail, containing the
- release notes, to sofia-sip-devel@lists.sourceforge.net
- - post a news item to freshmeat.net 'sofia-sip'
- project (current project owner: Kai Vehmanen)
- After release
- =============
- - replace the RELEASE file with RELEASE.template, and
- commit it to master source repository (see sofia-sip/README.developers)
- - change version in configure.ac from "X.Y.Z" to
- "X.Y.Zdevel" (as it is in many cases unknown what the
- next version will be)
- - make a "tree open for development" commit
- Syncing CVS and darcs (or some other VCS)
- =========================================
- Some tips for synchronizing 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 -v' 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).
- Checking API/ABI compatibility
- ==============================
- - Use a unit test binary built against an old library,
- to verify a new library version (forwards-compatibility).
- - Use the 'icheck' tool (in Debian) to make comparison
- between two released versions.
|