summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-07-13 19:09:00 +0200
committerThomas Haller <thaller@redhat.com>2020-07-13 23:28:05 +0200
commit5542275672672299860117f6cc3c5b8e234bd8dc (patch)
tree9d689011d2c1a1672ee39310ebe6fb787b42a474 /contrib
parentc2f7428bc07bec3b7e4e6b8b3c3e61f7d8e21598 (diff)
downloadNetworkManager-5542275672672299860117f6cc3c5b8e234bd8dc.tar.gz
contrib: add "major-post" step for release.sh script
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/fedora/rpm/release.sh24
1 files changed, 23 insertions, 1 deletions
diff --git a/contrib/fedora/rpm/release.sh b/contrib/fedora/rpm/release.sh
index cfbb18b203..549a4069e9 100755
--- a/contrib/fedora/rpm/release.sh
+++ b/contrib/fedora/rpm/release.sh
@@ -208,7 +208,7 @@ TMP_BRANCH=release-branch
if [ "$CUR_BRANCH" = master ]; then
number_is_odd "${VERSION_ARR[1]}" || die "Unexpected version number on master. Should be an odd development version"
- [ "$RELEASE_MODE" = devel -o "$RELEASE_MODE" = rc1 ] || die "Unexpected branch name \"$CUR_BRANCH\" for \"$RELEASE_MODE\""
+ [ "$RELEASE_MODE" = devel -o "$RELEASE_MODE" = rc1 -o "$RELEASE_MODE" = major-post ] || die "Unexpected branch name \"$CUR_BRANCH\" for \"$RELEASE_MODE\""
else
re='^nm-[0-9][1-9]*-[0-9][1-9]*$'
[[ "$CUR_BRANCH" =~ $re ]] || die "Unexpected current branch $CUR_BRANCH. Should be master or nm-?-??"
@@ -245,6 +245,11 @@ case "$RELEASE_MODE" in
[ "${VERSION_ARR[2]}" -ge 90 ] || die "parent version for major release must have a micro version larger than ${VERSION_ARR[0]}.90 but current version is $VERSION_STR"
[ "$CUR_BRANCH" == "nm-${VERSION_ARR[0]}-$((${VERSION_ARR[1]} + 1))" ] || die "major release can only be on \"nm-${VERSION_ARR[0]}-$((${VERSION_ARR[1]} + 1))\" branch"
;;
+ major-post)
+ number_is_odd "${VERSION_ARR[1]}" || die "cannot do major-post release on top of version $VERSION_STR"
+ [ "$((${VERSION_ARR[2]} + 1))" -lt 90 ] || die "major-post release must have a micro version smaller than 90 but current version is $VERSION_STR"
+ [ "$CUR_BRANCH" == master ] || die "major-post release can only be on master"
+ ;;
*)
die "Release mode $RELEASE_MODE not yet implemented"
;;
@@ -361,6 +366,23 @@ case "$RELEASE_MODE" in
BUILD_TAG="$b"
TAR_VERSION="$b"
;;
+ major-post)
+ git checkout -B "$TMP_BRANCH" "${VERSION_ARR[0]}.$((${VERSION_ARR[1]} - 1)).0" || die "merge0"
+ git merge -Xours --commit -m tmp master || die "merge1"
+ git rm --cached -r . || die "merge2"
+ git checkout master -- . || die "merge3"
+ b="${VERSION_ARR[0]}.${VERSION_ARR[1]}.$((${VERSION_ARR[2]} + 1))"
+ git commit --amend -m tmp -a || die "failed to commit major version bump"
+ test x = "x$(git diff master HEAD)" || die "there is a diff after merge!"
+
+ set_version_number "${VERSION_ARR[0]}" "${VERSION_ARR[1]}" "$((${VERSION_ARR[2]} + 1))"
+ git commit --amend -m "release: bump version to $b (development)" -a || die "failed to commit major version bump"
+ git tag -s -a -m "Tag $b (development)" "$b-dev" HEAD || die "failed to tag release"
+ TAGS+=("$b-dev")
+ CLEANUP_REFS+=("refs/tags/$b-dev")
+ BUILD_TAG="$b-dev"
+ TAR_VERSION="$b"
+ ;;
*)
die "Release mode $RELEASE_MODE not yet implemented"
;;