about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--configure.ac14
-rw-r--r--doc/dev/release-procedures.txt30
2 files changed, 40 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index 90da6e8cc6..2c1d9055b2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,11 +3,17 @@ AC_CONFIG_SRCDIR(README)
 AC_CONFIG_AUX_DIR(config)
 AM_INIT_AUTOMAKE
 
+# Change to `1' to produce a `stable' release (i.e., the `preREVISION'
+# suffix is not added).
+STABLE=0
+
 # Put the revision number in the version.
-if REVISION=`test -d $srcdir/.svn && svnversion $srcdir 2> /dev/null`; then
-   VERSION="${VERSION}pre${REVISION}"
-elif REVISION=`cat $srcdir/svn-revision 2> /dev/null`; then
-   VERSION="${VERSION}pre${REVISION}"
+if test "$STABLE" != "1"; then
+    if REVISION=`test -d $srcdir/.svn && svnversion $srcdir 2> /dev/null`; then
+        VERSION="${VERSION}pre${REVISION}"
+    elif REVISION=`cat $srcdir/svn-revision 2> /dev/null`; then
+        VERSION="${VERSION}pre${REVISION}"
+    fi
 fi
 
 AC_PREFIX_DEFAULT(/nix)
diff --git a/doc/dev/release-procedures.txt b/doc/dev/release-procedures.txt
new file mode 100644
index 0000000000..deccb10910
--- /dev/null
+++ b/doc/dev/release-procedures.txt
@@ -0,0 +1,30 @@
+To produce a `stable' release from the trunk:
+
+0. Make sure that the trunk builds in the release supervisor.
+
+1. Branch the trunk, e.g., `svn cp .../trunk
+   .../branches/0.5-release'.
+
+2. Switch to the branch, e.g., `svn switch .../branches/0.5-release'.
+
+3. In `configure.ac', change `STABLE=0' into `STABLE=1' and commit.
+
+4. In the release supervisor, add a one-time job to build
+   `.../branches/0.5-release'.
+
+5. Make sure that the release succeeds.
+
+6. Move the branch to a tag, e.g., `svn mv .../branches/0.5-release
+   .../tags/0.5'.
+
+   Note that the branch should not be used for maintenance; it should
+   be deleted after the release has been created.  A maintenance
+   branch (e.g., `.../branches/0.5') should be created from the
+   original revision of the trunk (since maintenance releases should
+   also be tested first; hence, we cannot have `STABLE=1').  The same
+   procedure can then be followed to produce maintenance release; just
+   substitute `.../branches/VERSION' for the trunk.
+
+7. Switch back to the trunk.
+
+8. Bump the version number in `configure.ac' (in AC_INIT).