From 24508503b85e22939ed247990bf1421e86cccd32 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Sat, 8 Dec 2012 17:26:58 +0100 Subject: [PATCH] release: distinguish major and minor releases This is mostly a preparatory change, in view of future improvements in our release process. * Makefile.am (determine_release_type): Also distinguish between major and minor releases, with the help of ... (stable_major_version_rx, stable_minor_version_rx): ... these new macros. (stable_version_rx): Remove, it's obsolete now. (version_rx): Rename ... (base_version_rx): ... like this, and adjust. (print-release-type): New target; helps in debugging the code that determines the release type. Signed-off-by: Stefano Lattarini --- Makefile.am | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/Makefile.am b/Makefile.am index 45bf2fc..dd170bc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -757,9 +757,10 @@ GIT = git EXTRA_DIST += lib/gnupload -version_rx = ^[1-9][0-9]*\.[0-9][0-9]*(\.[0-9][0-9]*)? -stable_version_rx = $(version_rx)$$ -beta_version_rx = $(version_rx)[bdfhjlnprtvxz]$$ +base_version_rx = ^[1-9][0-9]*\.[0-9][0-9]* +stable_major_version_rx = $(base_version_rx)$$ +stable_minor_version_rx = $(base_version_rx)\.[0-9][0-9]*$$ +beta_version_rx = $(base_version_rx)(\.[0-9][0-9]*)?[bdfhjlnprtvxz]$$ match_version = echo "$(VERSION)" | $(EGREP) >/dev/null ## Check that we don't have uncommitted or unstaged changes. @@ -774,14 +775,22 @@ git_must_have_clean_workdir = \ || fatal "you have uncommitted or unstaged changes" determine_release_type = \ - if $(match_version) '$(stable_version_rx)'; then \ - release_type='Release' dest=ftp; \ + if $(match_version) '$(stable_major_version_rx)'; then \ + release_type='Major release' dest=ftp; \ + elif $(match_version) '$(stable_minor_version_rx)'; then \ + release_type='Minor release' dest=ftp; \ elif $(match_version) '$(beta_version_rx)'; then \ release_type='Beta release' dest=alpha; \ else \ fatal "invalid version '$(VERSION)' for a release"; \ fi +# Help the debugging of $(determine_release_type) and related code. +print-release-type: + @fatal () { echo "$@: $$*"; exit 0; } \ + && $(determine_release_type) \ + && echo "$$release_type $(VERSION)" + git-tag-release: maintainer-check @set -e; set -u; \ fatal () { echo "$@: $$*; not tagging" >&2; exit 1; }; \ @@ -809,7 +818,7 @@ git-upload-release: echo Will upload to $$dest: $(DIST_ARCHIVES); \ $(srcdir)/lib/gnupload $(GNUPLOADFLAGS) --to $$dest $(DIST_ARCHIVES) -.PHONY: git-upload-release git-tag-release +.PHONY: print-release-type git-upload-release git-tag-release ## ------------------------------------------------------------------ ## -- 2.7.4