[ds6-devel] nc6 README.Maint,NONE,1.1

chris@deepspace6.net chris@deepspace6.net
Tue Dec 24 09:18:54 2002


Update of /cvs/nc6

Added Files:
	README.Maint 
Log Message:
Instructions for maintainers.  Contains basic source layout description,
style guide, description of version numbering and release guide.


--- NEW FILE: README.Maint ---
README.Maint - information for nc6 maintainers
--------------------------------------------------------------

$Id: README.Maint,v 1.1 2002/12/24 09:18:52 chris Exp $


Source layout
-------------

/		- build files (configure, Makefile.am, etc)
/config		- autoconf macros
/src		- all source code
/docs		- documentation, man pages, etc


Getting started
---------------

To get a usable configure system after checking source out of CVS, run

/bootstrap

This will process all the automake/autoconf files and build a configure
script.


Style guide
-----------

* 4-column indent.
* Opening curly on same line as keyword, if possible, otherwise line up.
* No space before the semicolon.
* Space around most operators.
* Space around a "complex" subscript (inside brackets).
* Blank lines between chunks that do different things.
* Cuddled elses.
* No space between function name and its opening parenthesis.
* Space after each comma.
* Long lines broken after an operator.
* Line up corresponding items vertically.
* Omit redundant punctuation as long as clarity doesn't suffer.


Version numbering
-----------------

nc6 will use a simple major.minor version numbering scheme.  For each minor
release the minor number is incremented, and for a major release the major
number is incremented and the minor number reset to 0.

A typical release pattern might be as follows:

	0.8
	0.9
	0.10
	0.11
	1.0
	1.1
	1.2
	2.0
	etc

Versions built from the CVS tree will have the version number of the last
release, appended with the '-cvs' modifier (eg. 1.2-cvs).  This indicates
the source is based on the 1.2 release, but may contain modifications.

Each release should also contain a corresponding CVS tag in the repository -
of the form 'release_XX_XX' (eg. release_0_11).


Making a Release 
----------------

To make a new release, the following process should be followed:

1) Clean the source tree (make maintainer-clean)
2) Edit the ChangeLog
3) Edit the version number in configure.ac (and be sure to remove the '-cvs')
4) Commit changes
5) Tag the repository with the release tag
6) ./bootstrap
7) ./configure
8) make dist

This will build a tar.gz and tar.bz2 in the root of the source tree.  These
should be made available for download from the deepspace6 website.

9) make maintainer-clean
10) Edit configure.ac to add '-cvs' onto the end of the version number
11) Commit changes


Release Announcements
---------------------

(TODO: where should releases be announced to?)






More information about the ds6-devel mailing list