summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-06-04 11:45:43 +0200
committerThomas Haller <thaller@redhat.com>2020-06-04 11:54:31 +0200
commit207fd8dfb13c5b55f724644ac91d7e30c6f4e93a (patch)
tree02498953379b3afdf0ff0c98537bf2d4e3ae2155 /contrib
parentbbb95c979e4b636c840628346f273931302480ab (diff)
build: implement release mode "rc" in release.sh script
Still not implemented are the first release candidate (rc1) and the major release.
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/fedora/rpm/release.sh27
1 files changed, 23 insertions, 4 deletions
diff --git a/contrib/fedora/rpm/release.sh b/contrib/fedora/rpm/release.sh
index b30f96e1a0..b404736b18 100755
--- a/contrib/fedora/rpm/release.sh
+++ b/contrib/fedora/rpm/release.sh
@@ -14,7 +14,7 @@ die_usage() {
echo "FAIL: $@"
echo
echo "Usage:"
- echo " $0 [minor|devel|rc] [--no-test] [--no-find-backports] [--no-cleanup]"
+ echo " $0 [devel|rc1|rc|major|minor] [--no-test] [--no-find-backports] [--no-cleanup]"
exit 1
}
@@ -103,7 +103,7 @@ while [ "$#" -ge 1 ]; do
shift
if [ -z "$RELEASE_MODE" ]; then
case "$A" in
- minor|devel|rc)
+ devel|rc1|rc|major|minor)
RELEASE_MODE="$A"
;;
*)
@@ -147,15 +147,21 @@ else
fi
fi
+RC_VERSION=
case "$RELEASE_MODE" in
minor)
number_is_even "${VERSION_ARR[1]}" &&
number_is_odd "${VERSION_ARR[2]}" || die "cannot do minor release on top of version $VERSION_STR"
[ "$CUR_BRANCH" != master ] || die "cannot do a minor release on master"
;;
- devel)
+ devel|rc)
number_is_odd "${VERSION_ARR[1]}" || die "cannot do devel release on top of version $VERSION_STR"
- [ "$((${VERSION_ARR[2]} + 1))" -lt 90 ] || die "devel release must have a micro version smaller than 90 but current version is $VERSION_STR"
+ if [ "$RELEASE_MODE" = devel ]; then
+ [ "$((${VERSION_ARR[2]} + 1))" -lt 90 ] || die "devel release must have a micro version smaller than 90 but current version is $VERSION_STR"
+ else
+ [ "${VERSION_ARR[2]}" -ge 90 ] || die "rc release must have a micro version larger than ${VERSION_ARR[0]}.90 but current version is $VERSION_STR"
+ RC_VERSION="$((${VERSION_ARR[2]} - 90))"
+ fi
[ "$CUR_BRANCH" == master ] || die "devel release can only be on master"
;;
*)
@@ -232,6 +238,19 @@ case "$RELEASE_MODE" in
CLEANUP_REFS+=("refs/tags/$b-dev")
BUILD_TAG="$b-dev"
;;
+ rc)
+ git checkout -B "$TMP_BRANCH"
+ CLEANUP_REFS+=("refs/heads/$TMP_BRANCH")
+ b="${VERSION_ARR[0]}.${VERSION_ARR[1]}.$(("${VERSION_ARR[2]}" + 1))"
+ t="${VERSION_ARR[0]}.$(("${VERSION_ARR[1]}" + 1))-rc$RC_VERSION"
+ set_version_number "${VERSION_ARR[0]}" "${VERSION_ARR[1]}" $(("${VERSION_ARR[2]}" + 1))
+ git commit -m "release: bump version to $b ($t) (development)" -a || die "failed to commit rc version bump"
+
+ git tag -s -a -m "Tag $b ($t) (development)" "$t" HEAD || die "failed to tag release"
+ TAGS+=("$t")
+ CLEANUP_REFS+=("refs/tags/$t")
+ BUILD_TAG="$t"
+ ;;
*)
die "Release mode $RELEASE_MODE not yet implemented"
;;