changeset 17021:37799b20257d

maint.mk: a "release-commit" wrapper to do-release-commit-and-tag * build-aux/do-release-commit-and-tag: Move variable definitions together. ($branch): Instead of defaulting to "master", default to the current branch (as gnu-web-doc-update does). (help): Display the current values of the option arguments. * top/maint.mk (release-commit): New. * top/README-release: Simplify the corresponding step.
author Akim Demaille <akim@lrde.epita.fr>
date Wed, 01 Aug 2012 09:55:49 +0200
parents ac95f9fbdee3
children 23236de3f49d
files ChangeLog build-aux/do-release-commit-and-tag top/README-release top/maint.mk
diffstat 4 files changed, 31 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
+
+	maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
+	* build-aux/do-release-commit-and-tag: Move variable definitions
+	together.
+	($branch): Instead of defaulting to "master", default to the current
+	branch (as gnu-web-doc-update does).
+	(help): Display the current values of the option arguments.
+	* top/maint.mk (release-commit): New.
+	* top/README-release: Simplify the corresponding step.
+
 2012-07-30  Eric Blake  <eblake@redhat.com>
 
 	passfd: fix comment on recvfd
--- a/build-aux/do-release-commit-and-tag
+++ b/build-aux/do-release-commit-and-tag
@@ -3,7 +3,7 @@
 # controlled .prev-version file, automate the procedure by which we record
 # the date, release-type and version string in the NEWS file.  That commit
 # will serve to identify the release, so apply a signed tag to it as well.
-VERSION=2012-07-05.15 # UTC
+VERSION=2012-08-01.09 # UTC
 
 # Note: this is a bash script (could be zsh or dash)
 
@@ -28,9 +28,6 @@
 warn() { printf '%s: %s\n' "$ME" "$*" >&2; }
 die() { warn "$*"; exit 1; }
 
-noteworthy='* Noteworthy changes in release'
-noteworthy_stub="$noteworthy ?.? (????-??-??) [?]"
-
 help()
 {
   cat <<EOF
@@ -49,10 +46,10 @@
 $noteworthy_stub
 
 Options:
-  --branch=BRANCH      set release branch (default: master)
-  -C, --builddir=DIR   location of (configured) Makefile (default: .)
-  --help               print this help, then exit
-  --version            print version number, then exit
+  --branch=BRANCH     set release branch (default: $branch)
+  -C, --builddir=DIR  location of (configured) Makefile (default: $builddir)
+  --help              print this help, then exit
+  --version           print version number, then exit
 
 EXAMPLE:
 To update NEWS and tag the beta 8.1 release of coreutils, I would run this:
@@ -81,7 +78,12 @@
 ## Main.  ##
 ## ------ ##
 
-branch=master
+# Constants.
+noteworthy='* Noteworthy changes in release'
+noteworthy_stub="$noteworthy ?.? (????-??-??) [?]"
+
+# Variables.
+branch=$(git branch | sed -ne '/^\* /{s///;p;q;}')
 builddir=.
 
 while test $# != 0
--- a/top/README-release
+++ b/top/README-release
@@ -31,15 +31,10 @@
 
     make check syntax-check distcheck
 
-* From top_srcdir, run:
-
-    build-aux/do-release-commit-and-tag X.Y stable
+* To (i) set the date, version number, and release type [stable/alpha/beta]
+  on line 3 of NEWS, (ii) commit that, and (iii) tag the release, run
 
-  in order to (i) set the date, version number, and release type
-  [stable/alpha/beta] on line 3 of NEWS, (ii) commit that, and (iii) tag the
-  release.  See --help if you need options such as:
-
-    build-aux/do-release-commit-and-tag --branch=maint -C _build X.Y.Z stable
+    make release-commit RELEASE='X.Y stable'
 
 * Run the following to create release tarballs.  Your choice selects the
   corresponding upload-to destination in the emitted gnupload command.
--- a/top/maint.mk
+++ b/top/maint.mk
@@ -1294,6 +1294,12 @@
 	    --no-print-checksums					\
 	    $(addprefix --url-dir=, $(url_dir_list))
 
+.PHONY: release-commit
+release-commit:
+	$(AM_V_GEN)cd $(srcdir)				\
+	  && $(_build-aux)/do-release-commit-and-tag	\
+	       -C $(abs_builddir) $(RELEASE)
+
 ## ---------------- ##
 ## Updating files.  ##
 ## ---------------- ##