[Top][All Lists]
[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
- [PATCH 0/6] More automation in the release procedure, Stefano Lattarini, 2012/12/08
- [PATCH 1/6] release: distinguish major and minor releases,
Stefano Lattarini <=
- [PATCH 2/6] release: generate a stub for the release announcement, Stefano Lattarini, 2012/12/08
- [PATCH 3/6] sync: update files from upstream with "make fetch", Stefano Lattarini, 2012/12/08
- [PATCH 5/6] docs: add rule to generate manuals for www.gnu.org, Stefano Lattarini, 2012/12/08
- [PATCH 6/6] fetch: improve, and reduce code duplication, Stefano Lattarini, 2012/12/08
- [PATCH 4/6] docs: copy the 'gendocs.sh' script from Texinfo CVS repository, Stefano Lattarini, 2012/12/08
- Re: [PATCH 0/6] More automation in the release procedure, Stefano Lattarini, 2012/12/09