maint: improve release-related process and documentation
authorJim Meyering <meyering@redhat.com>
Tue, 3 Mar 2009 07:24:29 +0000 (08:24 +0100)
committerJim Meyering <meyering@redhat.com>
Tue, 3 Mar 2009 07:24:29 +0000 (08:24 +0100)
* README-release: Fix typo. it's "maintainer-clean".
Refer to HACKING for full list of dependencies.
Use cvs add's -ko option to inhibit $Id$-style keyword expansion.
* maint.mk (web-manual): Factor out definition of $(manual_title).
(vc-dist): Set XZ_OPT=-9ev for the final "make dist".
* cfg.mk (manual_title): Define it here.
Suggestions from Eric Blake.

README-release
cfg.mk
maint.mk

index 59c084f..5082b7b 100644 (file)
@@ -4,10 +4,10 @@ Here are most of the steps we (maintainers) follow when making a release.
 
     git checkout master; git pull
 
-* Run ./configure && make maintainerclean
+* Run ./configure && make maintainer-clean
 
 * Ensure that the desired versions of autoconf, automake, bison, etc.
-  are in your PATH.
+  are in your PATH.  See HACKING for the complete list.
 
 * Ensure that you're on "master" with no uncommitted diffs.
   This should produce no output: git checkout master; git diff
@@ -41,7 +41,7 @@ FIXME: enable excluded programs like arch? to get their manual pages?
   corresponding upload-to destination in the emitted gnupload command.
 
     # "TYPE" must be major, beta or alpha
-    XZ_OPT=-9e make TYPE
+    make TYPE
 
 * Test the tarball.  copy it to a few odd-ball systems and ensure that
   it builds and passes all tests.
@@ -90,6 +90,6 @@ Once all the builds and tests have passed,
     CVS_RSH=ssh \
     cvs -d:ext:$USER@cvs.savannah.gnu.org:/web/coreutils co coreutils
 
-  Be sure to "cvs add" any files that "cvs status" marks with "?".
+  Be sure to "cvs add -ko" any files that "cvs status" marks with "?".
   That is necessary whenever a new texinfo node is added.  Each becomes
   a new file in html_node that must then be "cvs add"ed.
diff --git a/cfg.mk b/cfg.mk
index aa84b9f..e220572 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -21,6 +21,9 @@ gnu_ftp_host-beta = alpha.gnu.org
 gnu_ftp_host-major = ftp.gnu.org
 gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE))
 
+# Used in maint.mk's web-manual rule
+manual_title = Core GNU utilities
+
 url_dir_list = \
   ftp://$(gnu_rel_host)/gnu/coreutils
 
index ee279fe..484e303 100644 (file)
--- a/maint.mk
+++ b/maint.mk
@@ -642,7 +642,7 @@ maintainer-distcheck:
 # Don't make a distribution if checks fail.
 # Also, make sure the NEWS file is up-to-date.
 vc-dist: $(local-check) cvs-check maintainer-distcheck
-       $(MAKE) dist
+       XZ_OPT=-9ev $(MAKE) dist
 
 # Use this to make sure we don't run these programs when building
 # from a virgin tgz file, below.
@@ -865,8 +865,10 @@ alpha beta major: $(local-check) writable-files
 
 .PHONY: web-manual
 web-manual:
+       @test -z "$(manual_title)" \
+         && { echo define manual_title in cfg.mk 1>&2; exit 1; } || :
        @cd '$(srcdir)/doc'; \
          $(SHELL) ../build-aux/gendocs.sh -o '$(abs_builddir)/doc/manual' \
             --email $(PACKAGE_BUGREPORT) $(PACKAGE) \
-           "$(PACKAGE_NAME) - Core GNU utilities"
+           "$(PACKAGE_NAME) - $(manual_title)"
        @echo " *** Upload the doc/manual directory to web-cvs."