123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- ===============================================================
- README.developers - Sofia-SIP development practices
- ===============================================================
- Introduction
- ============
- This file is a collection of practices and rules for Sofia-SIP
- development. If you have questions, or would like to make
- changes, raise the issue on sofia-sip-devel (see
- http://lists.sourceforge.net/lists/listinfo/sofia-sip-devel ).
- Important files for developers
- ==============================
- AUTHORS
- List of contributors. When contributing new code, add
- yourself to AUTHORS, and also remember to update the
- per source file copyright statements.
- COPYRIGHTS
- List of licenses and related copyright statements. While
- majority of Sofia-SIP is licensed under LGPL, there are
- a few files with different, but LGPL compatible, licensing
- terms.
- README.developers
- This file.
- TODO
- Not in active use yet.
- <dir>/ChangeLog files
- All non-trivial changes to the source code should
- be documented in the ChangeLog files. See also the
- top-level ChangeLog.
- Version numbering
- =================
- Package version
- ---------------
- For public releases, the package version is:
- vMAJOR.MINOR.REVISION, where MINOR is even
- For development releases and snaphots the version is one of:
- vMAJOR.MINOR.REVISION, where minor is odd
- vMAJOR.MINOR.REVISION.YEAR.MONTH.DAY, where minor is odd
- For all releases, the version should be changed in configure.ac
- and committed to Darcs/CVS before making the release package. The person
- doing the release is responsible for updating the version number.
- Library interface versions
- --------------------------
- Sofia-SIP libraries utilize libtool interface versioning. See
- - http://www.gnu.org/software/libtool/manual.html#Versioning
- - http://www.gnu.org/software/libtool/manual.html#Using-Automake
- The interface versions are set in top-level 'configure.ac' file.
- Additionally, the SONAME version (CURRENT-AGE) is set in the
- same place. These version numbers are available for use as autoconf
- variables (see the library 'Makefile.am' files and
- 'packages/sofia-sip.spec.in').
- All changes to the library versions should be marked to the
- appropriate library 'ChangeLog' file. The library version should
- be changed at the same time as the first interface change is
- committed since the previous release. The interface version is
- frozen (should be marked to the 'ChangeLog' file) at the time
- the next release is tagged (in other words, intra-release changes
- need not be tracked with libtool versions).
- The goal should always be to avoid breaking the API/ABIs until
- absolutely necessary. Interfaces clearly marked as private can
- be changed without change to library interface version, but
- otherwise all public functions, types, variables and definitions
- fall under interface change control.
- Version control tags
- ====================
- Tagging releases and snapshots
- ------------------------------
- - source repository (*)
- - master Darcs tree at:
- http://sofia-sip.org/repos/sofia-sip
- - CVS tree (only used to track major releases) at:
- http://sourceforge.net/cvs/?group_id=143636
- - tags: rel-sofia-sip-x_y_z
- - stable and development releases (matches release
- version sofia-sip-x.y.z)
- - tags: snapshot_rel_YEARMMDD
- - snapshot releases at
- http://sofia-sip.sourceforge.net/snapshots/
- Notes (*):
- - Information about Darcs:
- http://abridgegame.org/darcs/
- http://lwn.net/Articles/110516/
- Sending patches
- ===============
- People without Darcs access
- ---------------------------
- Send your patches to sofia-sip-devel. Someone from the
- development team (see AUTHORS) will handle the patch.
- People with Darcs access
- ------------------------
- Trivial changes can be committed without review. For non-trivial
- changes, you should first send a proposal to sofia-sip-devel and
- wait for comments. There are no strict approval rules so use of
- common sense is recommended. ;)
- Tips for making patches
- -----------------------
- - test your patch on a clean checkout from version control system
- - remember to check for updates before pushing your changes
- to the master repository
|