[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
From: |
Akim Demaille |
Subject: |
maint.mk: a "release-commit" wrapper to do-release-commit-and-tag |
Date: |
Wed, 1 Aug 2012 10:05:30 +0200 |
This should be the last patch to make the release procedure
more consistent (instead of having to go back and forth
between builddir and srcdir).
I used […] for default values, by habit (e.g., ./configure),
but I can restore to (default: …) if you prefer.
From 9739568e9947ddaa037ba89f26c3ee291fdca955 Mon Sep 17 00:00:00 2001
From: Akim Demaille <address@hidden>
Date: Wed, 1 Aug 2012 09:55:49 +0200
Subject: [PATCH] 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.
---
ChangeLog | 11 +++++++++++
build-aux/do-release-commit-and-tag | 16 +++++++++-------
top/README-release | 11 +++--------
top/maint.mk | 6 ++++++
4 files changed, 29 insertions(+), 15 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 14e5dd4..a5aca2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2012-08-01 Akim Demaille <address@hidden>
+
+ 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 <address@hidden>
passfd: fix comment on recvfd
diff --git a/build-aux/do-release-commit-and-tag
b/build-aux/do-release-commit-and-tag
index 8beca86..a434272 100755
--- 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.07 # 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,8 +46,8 @@ Requirements:
$noteworthy_stub
Options:
- --branch=BRANCH set release branch (default: master)
- -C, --builddir=DIR location of (configured) Makefile (default: .)
+ --branch=BRANCH set release branch [$branch]
+ -C, --builddir=DIR location of (configured) Makefile [$builddir]
--help print this help, then exit
--version print version number, then exit
@@ -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
diff --git a/top/README-release b/top/README-release
index e5f0e4d..9c47528 100644
--- a/top/README-release
+++ b/top/README-release
@@ -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.
diff --git a/top/maint.mk b/top/maint.mk
index 0f36116..bdc4502 100644
--- a/top/maint.mk
+++ b/top/maint.mk
@@ -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. ##
## ---------------- ##
--
1.7.11.3
- maint.mk: a "release-commit" wrapper to do-release-commit-and-tag,
Akim Demaille <=