From: <zw...@ma...> - 2009-10-01 01:20:41
|
Author: zwelch Date: 2009-10-01 01:20:36 +0200 (Thu, 01 Oct 2009) New Revision: 2786 Modified: trunk/tools/release.sh Log: 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. Modified: trunk/tools/release.sh =================================================================== --- trunk/tools/release.sh 2009-09-30 23:20:20 UTC (rev 2785) +++ trunk/tools/release.sh 2009-09-30 23:20:36 UTC (rev 2786) @@ -314,15 +314,27 @@ 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 |