I made these changes in gnulib-local/top/README-release while making a start at leveraging the gnulib release machinery into GNU Libtool, but they seem generally applicable too.
Okay to push? (NOTE: I doubt this will work with `git apply-patch` since I pasted it together from bits of manual diffs and altered the headers by hand) -- readme-release: several release instructions improvements. * README-release: Add instructions for obtaining ftp-upload permissions. Set a neutral locale for rolling the release tarballs. Don't git pull all branches when only master is needed for the release process. Don't try to run ./configure right after git pull incase files that influence the bootstrap process have changed, move the ./configure step to after running ./bootstrap. Don't bootstrap "one last time"... it's the first time! Use ./build-aux/ when calling a script, since some shells won't run a script relative to the current directory unless "." is in the command search PATH. List the standard GNU email addresses to announce a release. --- diff --git a/ChangeLog b/ChangeLog index 25790a6..8b0f6a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2011-10-21 Gary V. Vaughan <g...@gnu.org> + + readme-release: several release instructions improvements. + * README-release: Add instructions for obtaining ftp-upload + permissions. + Set a neutral locale for rolling the release tarballs. + Don't git pull all branches when only master is needed for the + release process. + Don't try to run ./configure right after git pull incase files + that influence the bootstrap process have changed, move the + ./configure step to after running ./bootstrap. + Don't bootstrap "one last time"... it's the first time! + Use ./build-aux/ when calling a script, since some shells won't + run a script relative to the current directory unless "." is in + the command search PATH. + List the standard GNU email addresses to announce a release. + 2011-10-19 Gary V. Vaughan <g...@gnu.org> maint.mk: Respect $(build_aux) in web-manual rule. diff --git a/top/README-release b/top/README-release index 0e1694d..f43b7ad 100755 --- a/top/README-release +++ b/top/README-release @@ -1,11 +1,32 @@ Here are most of the steps we (maintainers) follow when making a release. +* If you are a @PACKAGE@ maintainer, but have not yet registered your + gpg public key and (preferred) email address with the FSF, send an + email, preferably GPG-signed, to <ftp-upl...@gnu.org> that includes + the following: + + (a) name of package(s) that you are the maintainer for, and your + preferred email address. + + (b) an ASCII armored copy of your GnuPG key, as an attachment. + ("gpg --export -a YOUR_KEY_ID > mykey.asc" should give you + this.) + + When you have received acknowledgement of your message, the proper GPG + keys will be registered on ftp-upload.gnu.org and only then will you be + authorized to upload files to the FSF ftp machines. + +* If you do not have access to the mailing list administrative interface, + approach the list owners for the password. Be sure to check the lists + (esp. bug-@PACKAGE@) for outstanding bug reports also in the list of + pending moderation requests. + +* Make sure your locale is sane, e.g. by exporting LC_ALL=C. + * start from a clean, up-to-date git directory. - git checkout master; git pull + git checkout master; git pull origin master -* Run ./configure && make maintainer-clean - * Ensure that the desired versions of autoconf, automake, etc. are in your PATH. See the buildreq list in bootstrap.conf for the complete list. @@ -18,19 +39,19 @@ http://hydra.nixos.org/jobset/gnu/@PACKAGE@-master -* Run bootstrap one last time. This downloads any new translations: +* Run "./bootstrap". This downloads any new translations. - ./bootstrap +* Run "./configure" * Pre-release testing: - Ensure that make check syntax-check succeeds. + Ensure that "make check syntax-check" succeeds. * Run "make distcheck" * Set the date, version number, and release type [stable/alpha/beta] on line 3 of NEWS, commit that, and tag the release by running e.g., - build-aux/do-release-commit-and-tag X.Y stable + ./build-aux/do-release-commit-and-tag X.Y stable * Run the following to create release tarballs. Your choice selects the corresponding upload-to destination in the emitted gnupload command. @@ -79,6 +100,10 @@ https://savannah.gnu.org/news/approve.php?group=@PACKAGE@ * Send the announcement email message. + Address the email to `@PACKAGE@@gnu.org' and + `autotools-annou...@gnu.org' with the Reply-To header set to + `bug-@PACKAGE@@gnu.org'. Stable releases should also be announced on + `info-...@gnu.org'. * After each non-alpha release, update the on-line manual accessible via @@ -86,4 +111,4 @@ by running this: - build-aux/gnu-web-doc-update + ./build-aux/gnu-web-doc-update Cheers, -- Gary V. Vaughan (gary AT gnu DOT org)