#+TITLE: Release Process for GNU Guile 2.0
#+AUTHOR: Ludovic Courtès
+#+STARTUP: content
#+EMAIL: ludo@gnu.org
This document describes the typical release process for Guile 2.0.
*** Use porter boxes
If you're still in a good mood, you may also want to check on porter
-boxes for other OSes. The GNU/Hurd people have [[http://www.gnu.org/software/hurd/public_hurd_boxen.html][porter boxes]], so does
-the [[http://www.opencsw.org/standards/build_farm][OpenCSW Solaris Team]].
-
+boxes for other OSes. The GNU/Hurd people have [[http://www.gnu.org/software/hurd/public_hurd_boxen.html][porter boxes]], and so do
+the [[http://www.opencsw.org/standards/build_farm][OpenCSW Solaris Team]] and the [[http://lists.gnu.org/archive/html/autoconf/2012-11/msg00039.html][Snakebite]] project.
*** Post a pre-release announcement to `platform-testers@gnu.org'
Create a signed Git tag, like this:
- $ git tag -s u MY-KEY -m "GNU Guile 2.0.X." v2.0.X
+ $ git tag -s -u MY-KEY -m "GNU Guile 2.0.X." v2.0.X
The tag *must* be `v2.0.X'. For the sake of consistency, always use
"GNU Guile 2.0.X." as the tag comment.
Normally nobody committed in the meantime. ;-)
-** Run "make dist"
+** Run "make distcheck"
This should trigger an `autoreconf', as `build-aux/git-version-gen'
-notices the new tag. After "make dist", double-check that `./configure
---version' reports the new version number.
+notices the new tag. Make sure you have configured with all options
+enabled (Readline, --enable-deprecated, etc.)
-The reason for running "make dist" instead of "make distcheck" is that
-it's much faster and any distribution issues should have been caught by
-Hydra already.
+After "make distcheck", double-check that `./configure --version'
+reports the new version number.
** Upload
Make sure the file was uploaded and is available for download as
expected:
- $ mkdir t && cd t && wget ftp.gnu.org/gnu/guile/guile-2.0.X.tar.gz
+ $ mkdir t && cd t && \
+ wget ftp.gnu.org/gnu/guile/guile-2.0.X.tar.gz && \
+ wget ftp.gnu.org/gnu/guile/guile-2.0.X.tar.xz
$ diff guile-2.0.X.tar.gz ../guile-2.0.X.tar.gz
+ $ diff guile-2.0.X.tar.xz ../guile-2.0.X.tar.xz
You're almost done!
** Update the on-line copy of the manual
- - Use `build-aux/gendocs', add to the manual/ directory of the web
- site.
+Use `build-aux/gendocs', add to the manual/ directory of the web site.
+
+ $ cd doc/ref
+ $ ../../build-aux/gendocs.sh guile "GNU Guile 2.0.X Reference Manual"
** Prepare the email announcement
$ build-aux/announce-gen --release-type=stable --package-name=guile \
--previous-version=2.0.1 --current-version=2.0.2 \
--gpg-key-id=MY-KEY --url-directory=ftp://ftp.gnu.org/gnu/guile \
- --bootstrap-tools=autoconf,automake,libtool,gnulib \
+ --bootstrap-tools=autoconf,automake,libtool,gnulib,makeinfo \
--gnulib-version=$( cd ~/src/gnulib ; git describe )
The subject must be "GNU Guile 2.0.X released". The text should remain
** Send the email announcement
+Send to these places, preferably in the morning on a working day (UTC):
+
- guile-user@gnu.org, guile-devel@gnu.org, guile-sources@gnu.org
- info-gnu@gnu.org (for stable releases only!)
- comp.lang.scheme
-** Post a news on [[http://sv.gnu.org/p/guile/][Savannah]]
+** Post a news item on [[http://sv.gnu.org/p/guile/][Savannah]]
The news will end up on planet.gnu.org. The text can be shorter and
more informal, with a link to the email announcement for details.
\f
-Copyright © 2011 Free Software Foundation, Inc.
+Copyright © 2011, 2012, 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright