]> arthur.barton.de Git - ngircd-alex.git/commitdiff
New doc/HowToRelease.txt file describing the release process
authorAlexander Barton <alex@barton.de>
Mon, 25 Oct 2010 12:46:58 +0000 (14:46 +0200)
committerAlexander Barton <alex@barton.de>
Mon, 25 Oct 2010 12:46:58 +0000 (14:46 +0200)
doc/HowToRelease.txt [new file with mode: 0644]
doc/Makefile.am

diff --git a/doc/HowToRelease.txt b/doc/HowToRelease.txt
new file mode 100644 (file)
index 0000000..d4d82bc
--- /dev/null
@@ -0,0 +1,77 @@
+
+                     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 ;-)
+
+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.61 and GNU automake 1.10.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) Relax :-)
index 3a37ff4768153ed5badcbfa76435417406ebd678..1e5773ecd5ba982e3529d810ba4ff83c3af97bbf 100644 (file)
@@ -1,6 +1,6 @@
 #
 # ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2008 Alexander Barton (alex@barton.de)
+# Copyright (c)2001-2010 Alexander Barton (alex@barton.de)
 #
 # Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
 # der GNU General Public License (GPL), wie von der Free Software Foundation
@@ -14,7 +14,7 @@ SUBDIRS = src
 
 EXTRA_DIST = FAQ.txt GIT.txt Protocol.txt Platforms.txt README-AUX.txt \
        README-BeOS.txt RFC.txt Services.txt SSL.txt Zeroconf.txt \
-       sample-ngircd.conf
+       HowToRelease.txt sample-ngircd.conf
 
 maintainer-clean-local:
        rm -f Makefile Makefile.in