automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/6] release: distinguish major and minor releases


From: Stefano Lattarini
Subject: [PATCH 1/6] release: distinguish major and minor releases
Date: Sat, 8 Dec 2012 21:42:37 +0100

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 <address@hidden>
---
 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
 
 
 ## ------------------------------------------------------------------ ##
-- 
1.8.0.1.347.gf94c325




reply via email to

[Prev in Thread] Current Thread [Next in Thread]