Eric Blake wrote: > According to Jim Meyering on 3/2/2009 2:25 PM: >> + >> +.PHONY: web-manual >> +web-manual: >> + @cd '$(srcdir)/doc'; \ >> + $(SHELL) ../build-aux/gendocs.sh -o '$(abs_builddir)/doc/manual' \ >> + --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ >> + "$(PACKAGE_NAME) - Core GNU utilities" > > That last bit is package-specific. Should we factor 'Core GNU utilities' > into a string supplied by cfg.mk? > >> + >> +* Run ./configure && make maintainerclean > > maintainer-clean
Yep. >> +* Ensure that the desired versions of autoconf, automake, bison, etc. >> + are in your PATH. > > should we mention HACKING for the complete list? Definitely. I even thought of that as I was writing the above ;-) >> +* Run bootstrap, (assuming your local copy of gnulib is in /gnulib): >> + ./bootstrap --gnulib-srcdir=/gnulib > > Is it worth adding gnulib as a git submodule, so that you can freeze which > gnulib commit id is associated with the release? For an example, bison > has taken that approach. It's been on my list for a long time, but I haven't felt the need and haven't investigated. What do you think? I noticed Paolo did that for sed, too. >> +* Run the following to create release tarballs. Your choice selects the >> + corresponding upload-to destination in the emitted gnupload command. >> + >> + # "TYPE" must be major, beta or alpha >> + XZ_OPT=-9e make TYPE > > Shouldn't XZ_OPT be folded into maint.mk? Yes. I've added "v", too. For its progress meter. >> + CVS_RSH=ssh \ >> + cvs -d:ext:[email protected]:/web/coreutils co coreutils >> + >> + Be sure to "cvs add" any files that "cvs status" marks with "?". > > 'cvs add -ko', so that strings that would otherwise look like CVS keywords > are not inadvertently altered. Good ideas. Thanks for the suggestions. I've applied this: >From cb0d71399c27213cd01828969424fa6b2f451515 Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Tue, 3 Mar 2009 08:24:29 +0100 Subject: [PATCH] maint: improve release-related process and documentation * 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 | 8 ++++---- cfg.mk | 3 +++ maint.mk | 6 ++++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/README-release b/README-release index 59c084f..5082b7b 100644 --- a/README-release +++ b/README-release @@ -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:[email protected]:/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 --- 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 diff --git a/maint.mk b/maint.mk index ee279fe..484e303 100644 --- 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." -- 1.6.2.rc1.285.gc5f54 _______________________________________________ Bug-coreutils mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-coreutils
