summaryrefslogtreecommitdiff
path: root/maintainer
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2013-05-30 15:41:34 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2013-05-30 15:41:34 +0200
commitfb3fe261459b68011c0a481d401517c55daae9d1 (patch)
tree0880b937951eec9a331fc52b937c8254fada4bb3 /maintainer
parent0d9399f1efe69864f3295ada6325b14d953149c2 (diff)
parent80238728ba190c0c9f84142db30531534dd7c850 (diff)
downloadautomake-fb3fe261459b68011c0a481d401517c55daae9d1.tar.gz
Merge branch 'micro' into maint
* micro: maint: support new Automake versioning scheme in tagging/uploading rules announcement: can be generated from development snapshots as well announcement: can be generated from development snapshots as well announcement: be less strict in the paring of NEWS maint: version bump after beta release 1.13.2b release: beta release 1.13.2b (will become 1.13.3) sync: update config.guess from upstream Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'maintainer')
-rw-r--r--maintainer/maint.mk39
1 files changed, 30 insertions, 9 deletions
diff --git a/maintainer/maint.mk b/maintainer/maint.mk
index 3fe6cce63..e46b6db24 100644
--- a/maintainer/maint.mk
+++ b/maintainer/maint.mk
@@ -107,10 +107,16 @@ GIT = git
EXTRA_DIST += lib/gnupload
-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]$$
+# First component of a version number (mandatory).
+rx-0 = ^[1-9][0-9]*
+# Later components of a version number (optional).
+rx-1 = \.[0-9][0-9]*
+# Used in recipes to decide which kind of release we are.
+stable_major_version_rx = $(rx-0)\.0$$
+stable_minor_version_rx = $(rx-0)$(rx-1)$$
+stable_micro_version_rx = $(rx-0)$(rx-1)$(rx-1)$$
+beta_version_rx = $(rx-0)($(rx-1)){1,2}[bdfhjlnprtvxz]$$
+alpha_version_rx = $(rx-0)($(rx-1)){1,2}[acegikmoqsuwy]$$
match_version = echo "$(VERSION)" | $(EGREP) >/dev/null
# Check that we don't have uncommitted or unstaged changes.
@@ -131,14 +137,28 @@ determine_release_type = \
dest=ftp; \
elif $(match_version) '$(stable_minor_version_rx)'; then \
release_type='Minor release'; \
+ announcement_type='minor release'; \
+ dest=ftp; \
+ elif $(match_version) '$(stable_micro_version_rx)'; then \
+ release_type='Micro release'; \
announcement_type='maintenance release'; \
dest=ftp; \
elif $(match_version) '$(beta_version_rx)'; then \
release_type='Beta release'; \
announcement_type='test release'; \
dest=alpha; \
+ elif $(match_version) '$(alpha_version_rx)'; then \
+ echo "$@: improper version '$(VERSION)' for a release" >&2; \
+ if test -n '$(strip $(DEVEL_SNAPSHOT))'; then \
+ echo "$@: continuing anyway since DEVEL_SNAPSHOT is set" >&2; \
+ release_type='Development snapshot'; \
+ announcement_type='development snapshot'; \
+ dest=alpha; \
+ else \
+ exit 1; \
+ fi; \
else \
- echo "$@: invalid version '$(VERSION)' for a release" >&2; \
+ echo "$@: invalid version number '$(VERSION)'" >&2; \
exit 1; \
fi
@@ -146,7 +166,7 @@ determine_release_type = \
print-release-type:
@$(determine_release_type); \
echo "$$release_type $(VERSION);" \
- "it will be announced as a $$announcement_type"
+ "it will be announced as a \"$$announcement_type\""
git-tag-release: maintainer-check
@set -e -u; \
@@ -262,6 +282,7 @@ compare-autodiffs: autodiffs
PACKAGE_MAILINGLIST = automake@gnu.org
+announcement: DEVEL_SNAPSHOT = yes
announcement: NEWS
$(AM_V_GEN): \
&& rm -f $@ $@-t \
@@ -294,8 +315,8 @@ announcement: NEWS
&& X "-*-*-*-" \
&& X \
&& $(AWK) '\
- ($$0 == "New in $(VERSION):") { wait_for_end=1; } \
- (/^~~~/ && wait_for_end) { exit(0) } \
+ ($$0 ~ /^New in .*:/) { wait_for_end=1; } \
+ (/^~~~/ && wait_for_end) { print; exit(0) } \
{ print } \
' <$(srcdir)/NEWS >> $@-t \
&& mv -f $@-t $@
@@ -391,7 +412,7 @@ web-manual:
web-manual-update:
$(AM_V_at)$(determine_release_type); \
case $$release_type in \
- [Mm]ajor\ release|[Mm]inor\ release);; \
+ [Mm]ajor\ release|[Mm]inor\ release|[Mm]icro\ release);; \
*) echo "Cannot upload manuals from a \"$$release_type\"" >&2; \
exit 1;; \
esac