mirror of
				https://github.com/osmarks/ngircd.git
				synced 2025-10-31 05:52:59 +00:00 
			
		
		
		
	 86d27eaf89
			
		
	
	86d27eaf89
	
	
	
		
			
			And add a note to doc/HowToRelease.txt to not forget to update the list of authors in the future ...
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
|                      ngIRCd - Next Generation IRC Server
 | |
| 
 | |
|                         (c)2001-2010 Alexander Barton,
 | |
|                     alex@barton.de, http://www.barton.de/
 | |
| 
 | |
|                ngIRCd is free software and published under the
 | |
|                    terms of the GNU General Public License.
 | |
| 
 | |
|                             -- HowToRelease.txt --
 | |
| 
 | |
| 
 | |
| I. Introduction
 | |
| ~~~~~~~~~~~~~~~
 | |
| 
 | |
| Creating a new ngIRCd release requires a few steps to follow: the source
 | |
| tree must be in a releasable state (be up to date, include all required
 | |
| patches, be tested on as many platforms as possible), a name for the new
 | |
| release must be chosen, and all the files describing the release must be
 | |
| updated accordingly.
 | |
| 
 | |
| Since ngIRCd release 13 (2009-12-25) we use "simple" release numbers for
 | |
| major releases (e.g. "13", "17", "42", ...) introducing new features and
 | |
| sub-releases for bug fixes only (e.g. "14.1", "22.3", ...).
 | |
| 
 | |
| When creating pre-releases or release candidates, please use the tilde ("~")
 | |
| character to separate the "postfix" in the release number (e.g. "17~rc2"
 | |
| or "123.4~rc6").
 | |
| 
 | |
| The release/version number of a build is automatically generated using the
 | |
| GIT "describe" command, see git-describe(1). Therefore it is required that
 | |
| a new release is tagged in the GIT tree and that the configure script is
 | |
| up-to-date (e.g. using ./autogen.sh) before generating the archives!
 | |
| 
 | |
| 
 | |
| II. How to prepare a new ngIRCd release?
 | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| a) Make sure the source tree is in a releasable state ;-)
 | |
|     - is the AUTHORS file up to date?
 | |
| 
 | |
| b) Make sure you have working versions of GNU autoconf and GNU automake
 | |
|    installed on the system you use for generating the release:
 | |
|    as of October 2010 we are using GNU autoconf 2.67 and GNU automake 1.11.1
 | |
|    which seem to work just fine.
 | |
| 
 | |
| c) Update the files describing the new release:
 | |
|     - ChangeLog
 | |
|     - NEWS
 | |
| 
 | |
| d) Update the version numbers in the following files:
 | |
|     - contrib/ngircd.spec
 | |
| 
 | |
| e) Generate a new Debian change log entry in the following file, e.g. using
 | |
|    the Debian "dch" tool of the "devscripts" package:
 | |
|     - contrib/Debian/changelog
 | |
| 
 | |
| f) Commit the above changes to GIT: "git add", "git commit"
 | |
| 
 | |
| g) Create a new signed GIT tag for the new release: "git tag -s".
 | |
|    Please note that we don't use the tilde ("~") here, instead use a simple
 | |
|    hyphen ("-") as delimiter: e.g. "rel-16" "rel-17-rc1", "rel-18-pre2", ...
 | |
| 
 | |
| h) Run "./autogen.sh" to update the ./configure script with the correct
 | |
|    release number (autogenerated using "git describe", see above).
 | |
| 
 | |
| i) Run "./configure" to rebuild all generated Makefiles.
 | |
| 
 | |
| j) Run "make distcheck" to generate the distribution archives.
 | |
| 
 | |
| k) Sign the distribution archive(s) using GnuPG: "gpg -b <archivefile>"
 | |
| 
 | |
| l) Upload and distribute the newly generated ngIRCd release archive(s)
 | |
|    and GnuPG signatures.
 | |
| 
 | |
| m) Write an announcement to the mailing list, freshmeat, Twitter, ...
 | |
| 
 | |
| n) Update the list of releases in our bug tracker.
 | |
| 
 | |
| o) Relax :-)
 |