FYI, here are a few maintenance-related changes I've just pushed: >From 654e92523399fddf5d6c3645760c9fc89cd57c1b Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Thu, 1 Oct 2009 10:38:50 +0200 Subject: [PATCH 1/4] maint: make cfg.mk slightly more generic
* cfg.mk (url_dir_list): Don't hard-code "coreutils". Use $(PACKAGE). --- cfg.mk | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/cfg.mk b/cfg.mk index d102b37..3610959 100644 --- a/cfg.mk +++ b/cfg.mk @@ -25,7 +25,7 @@ gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE)) manual_title = gzip: the data compression program url_dir_list = \ - ftp://$(gnu_rel_host)/gnu/coreutils + ftp://$(gnu_rel_host)/gnu/$(PACKAGE) # The GnuPG ID of the key used to sign the tarballs. gpg_key_ID = B9AB9A16 -- 1.6.5.rc2.177.ga9dd6 >From e381be34715fa7c5773cdeb43222af31acb18974 Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Thu, 1 Oct 2009 11:20:44 +0200 Subject: [PATCH 2/4] doc: describe release procedure * README-release: New file. --- README-release | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 0 deletions(-) create mode 100644 README-release diff --git a/README-release b/README-release new file mode 100644 index 0000000..90d03fd --- /dev/null +++ b/README-release @@ -0,0 +1,83 @@ +Here are most of the steps we (maintainers) follow when making a release. + +* start from a clean, up-to-date git directory. + + git checkout master; git pull + +* 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. + +* Ensure that you're on "master" with no uncommitted diffs. + This should produce no output: git checkout master; git diff + +* Run bootstrap: ./bootstrap + +* Pre-release testing: + Ensure that make check syntax-check succeeds. + +* Run "make distcheck" + +* Manually set the date, version number, and [stable/alpha/beta] on + line 3 of NEWS, then do e.g.,: + + v=1.3.13 + pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' Makefile) + git commit -F <(printf 'version '$v'\n\n* NEWS: Record release date.\n') -a + git tag -s -m "$pkg $v" v$v HEAD + +* Run the following to create release tarballs. Your choice selects the + corresponding upload-to destination in the emitted gnupload command. + The different destinations are specified in cfg.mk. See the definitions + of gnu_ftp_host-{alpha,beta,stable}. + + # "TYPE" must be stable, beta or alpha + make TYPE + +* Test the tarball. copy it to a few odd-ball systems and ensure that + it builds and passes all tests. + +* While that's happening, write the release announcement that you will + soon post. + +Once all the builds and tests have passed, + +* Run the gnupload command that was suggested by your "make major" run above. + +* Wait a few minutes (maybe up to 30?) and then use the release URLs to + download all tarball/signature pairs and use gpg --verify to ensure + that they're all valid. + +* Push the new tag: + + v=$(cat .prev-version) + git push origin tag v$v + +* Send the gpg-signed announcement mail, e.g., + + To: [email protected] + Cc: [email protected], [email protected] + Subject: gzip-1.3.13 released [stable] + +* Announce it on Savannah, too: + From here: + https://savannah.gnu.org/projects/gzip/ + click on the "submit news", then write something like the following: + (If there is no such button, then enable "News" for the project via + the Main -> "Select Features" menu item, or via this link: + https://savannah.gnu.org/project/admin/editgroupfeatures.php?group=gzip) + + Subject: gzip-1.3.13 released [stable] + The announcement is here: + http://article.gmane.org/gmane.comp.gnu.gzip.bugs/258 + + Then go here to approve it: + https://savannah.gnu.org/news/approve.php?group=gzip + +* After each non-alpha release, update the on-line manual accessible via + + http://www.gnu.org/software/gzip/manual/ + + by running the gnu-web-doc-update script. -- 1.6.5.rc2.177.ga9dd6 >From 6eac4a2b141df3b2291fd9aff5ff562aa93bb82e Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Fri, 2 Oct 2009 10:55:14 +0200 Subject: [PATCH 3/4] doc: use gnu-web-doc-update module * bootstrap.conf (gnulib_modules): Add it. --- bootstrap.conf | 1 + doc/.gitignore | 1 + 2 files changed, 2 insertions(+), 0 deletions(-) diff --git a/bootstrap.conf b/bootstrap.conf index fe0a154..9db4015 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -34,6 +34,7 @@ gnulib_modules=' git-version-gen gitlog-to-changelog gnu-make + gnu-web-doc-update gnupload gnumakefile lstat diff --git a/doc/.gitignore b/doc/.gitignore index 9bc6aa5..1f01272 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -1,4 +1,5 @@ fdl.texi +gendocs_template gzip.info stamp-vti version.texi -- 1.6.5.rc2.177.ga9dd6 >From 298a6b46ce0d79c94a71f4324f31b154918aa198 Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Fri, 2 Oct 2009 15:13:34 +0200 Subject: [PATCH 4/4] build: update gnulib submodule to latest --- gnulib | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/gnulib b/gnulib index e21985a..881b91b 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit e21985ad14508137d75b0dccf064adfc4e5888c6 +Subproject commit 881b91b9b370b4b6f26eb44efb5c048ca3783b83 -- 1.6.5.rc2.177.ga9dd6
