maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
authorAkim Demaille <akim@lrde.epita.fr>
Wed, 1 Aug 2012 07:55:49 +0000 (09:55 +0200)
committerAkim Demaille <akim@lrde.epita.fr>
Wed, 1 Aug 2012 09:34:41 +0000 (11:34 +0200)
* 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.

ChangeLog
build-aux/do-release-commit-and-tag
top/README-release
top/maint.mk

index 14e5dd4..a5aca2f 100644 (file)
--- 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
index 8beca86..fa89e76 100755 (executable)
@@ -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 @@ ME=$(basename "$0")
 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 @@ Requirements:
 $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 @@ EOF
 ## 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
index e5f0e4d..9c47528 100644 (file)
@@ -31,15 +31,10 @@ Here are most of the steps we (maintainers) follow when making a release.
 
     make check syntax-check distcheck
 
-* From top_srcdir, run:
+* 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
 
-    build-aux/do-release-commit-and-tag X.Y stable
-
-  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.
index 0f36116..bdc4502 100644 (file)
@@ -1294,6 +1294,12 @@ announcement: NEWS ChangeLog $(rel-files)
            --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.  ##
 ## ---------------- ##