From eccd9059d31ab67308dbd17c262fd9e5cdca4754 Mon Sep 17 00:00:00 2001
From: zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Wed, 30 Sep 2009 23:20:36 +0000
Subject: Add numeric version tag support to release script.

The release process itself does not use this support yet, but it allows
packagers to automate the process of managing their own tags, if they
patch the source code before releasing binaries.  The release processes
should be revised to incorporate this feature to support -rc packages.


git-svn-id: svn://svn.berlios.de/openocd/trunk@2786 b42882b7-edfa-0310-969c-e2dbd0fdcd60
---
 tools/release.sh | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

(limited to 'tools')

diff --git a/tools/release.sh b/tools/release.sh
index 8df0fa3a..de0946b7 100755
--- a/tools/release.sh
+++ b/tools/release.sh
@@ -314,15 +314,27 @@ do_version_bump_minor() {
 do_version_bump_micro() {
 	do_version_bump_sed "${PACKAGE_MAJOR_AND_MINOR}.$((PACKAGE_MICRO + 1))"
 }
-do_version_bump_rc() {
-	die "patch missing: -rc support is not implemented"
+do_version_bump_tag() {
+	local TAG="$1"
+	[ "${TAG}" ] || die "TAG argument is missing"
+	local TAGS="${PACKAGE_VERSION_TAGS}"
+	if has_version_tag "${TAG}"; then
+		local RC=$(echo ${TAGS} | perl -ne "/-${TAG}"'(\d+)/ && print $1')
+		RC=$((${RC} + 1))
+		TAGS=$(echo ${TAGS} | perl -npe "s/-${TAG}[\\d]*/-${TAG}${RC}/")
+	else
+		TAGS="-${TAG}1${PACKAGE_VERSION_TAGS}"
+	fi
+	PACKAGE_VERSION_TAGS="${TAGS}"
+	do_version_bump_sed "${PACKAGE_VERSION_BASE}"
 }
+do_version_bump_rc() { do_version_bump_tag 'rc'; }
 do_version_bump() {
 	CMD="$1"
 	shift
 	case "${CMD}" in
-	major|minor|micro|rc)
-		eval "do_version_bump_${CMD}"
+	major|minor|micro|rc|tag)
+		eval "do_version_bump_${CMD}" "$@"
 		;;
 	*)
 		do_version_usage
-- 
cgit v1.2.3