release-tools/release.sh et al: introduce FULL_VERSION and use it
authorRichard Levitte <levitte@openssl.org>
Tue, 28 Mar 2023 05:43:41 +0000 (07:43 +0200)
committerRichard Levitte <levitte@openssl.org>
Tue, 16 May 2023 03:54:35 +0000 (05:54 +0200)
This is a convenience variable, combined from $VERSION, $_PRE_RELEASE_TAG
and $_BUILD_METADATA.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/tools/pull/140)

release-tools/release-aux/release-version-fn.sh
release-tools/release-aux/test_suite.sh
release-tools/release.sh

index c4faeba63668436f5542592452938623b0fc0393..ed856abafd9420d32d7f551fe9e55db05707b353 100644 (file)
@@ -33,6 +33,8 @@
 #                       MAJOR, MINOR and (possibly) FIX
 # VERSION               The current version number.  It is copmuted from
 #                       MAJOR, MINOR, (possibly) FIX and PATCH
+# FULL_VERSION          Like VERSION, but with metadata (PRE_RELEASE_TAG,
+#                       BUILD_METADATA) added
 #
 # TYPE                  The state the source is in.  It may have an empty value
 #                       for released source, or 'dev' for "in development".
@@ -64,6 +66,7 @@ get_version () {
     # These are computed from extracted variables
     SERIES=
     VERSION=
+    FULL_VERSION=
     TYPE=
     PRE_LABEL=
     PRE_NUM=
@@ -96,6 +99,7 @@ get_version () {
 
             SERIES="$MAJOR.$MINOR"
             VERSION="$MAJOR.$MINOR.$PATCH"
+            FULL_VERSION="$VERSION$_PRE_RELEASE_TAG$_BUILD_METADATA"
             TYPE=$( echo "$PRE_RELEASE_TAG" \
                         | sed -E \
                               -e 's|^dev$|dev|' \
@@ -172,6 +176,7 @@ if (m|^[[:space:]]*#[[:space:]]*define[[:space:]]+OPENSSL_VERSION_NUMBER[[:space
 
             SERIES="$MAJOR.$MINOR.$FIX"
             VERSION="$MAJOR.$MINOR.$FIX$PATCH"
+            FULL_VERSION="$VERSION$_PRE_RELEASE_TAG"
             TYPE=$PRE_RELEASE_TAG
             PRE_LABEL=
             PRE_NUM=0
@@ -257,10 +262,12 @@ fixup_version () {
         VERSION.dat )
             SERIES="$MAJOR.$MINOR"
             VERSION="$SERIES.$PATCH"
+            FULL_VERSION="$VERSION$_PRE_RELEASE_TAG$_BUILD_METADATA"
             ;;
         */opensslv.h )
             SERIES="$MAJOR.$MINOR.$FIX"
             VERSION="$SERIES$PATCH"
+            FULL_VERSION="$VERSION$_PRE_RELEASE_TAG"
             ;;
     esac
 }
@@ -324,7 +331,7 @@ std_branch_name () {
 std_tag_name () {
     case "$VERSION_FILE" in
         VERSION.dat )
-            echo "openssl-$VERSION$_PRE_RELEASE_TAG$_BUILD_METADATA"
+            echo "openssl-$FULL_VERSION"
             ;;
         */opensslv.h )
             echo "OpenSSL_${VERSION//./_}"
index 1bf443e4b3c511263f01da6ec85978024e57bb35..a7d5c0574caab930ca779dc213e18a8c64e6e98b 100755 (executable)
@@ -68,6 +68,7 @@ expected=(
     [TYPE]=dev
     [SERIES]=3.2
     [VERSION]=3.2.0
+    [FULL_VERSION]=3.2.0-dev
     [PRE_RELEASE_TAG]=dev
     [SHLIB_VERSION]=3
 )
@@ -78,6 +79,7 @@ echo "Test release of 3.2.0-alpha1"
 expected=(
     [TYPE]=
     [VERSION]=3.2.0
+    [FULL_VERSION]=3.2.0-alpha1
     [PRE_RELEASE_TAG]=alpha1
     [RELEASE_DATE]="$today"
 )
@@ -88,6 +90,7 @@ echo "Test post-release of 3.2.0-alpha1"
 expected=(
     [TYPE]=dev
     [VERSION]=3.2.0
+    [FULL_VERSION]=3.2.0-alpha2-dev
     [PRE_RELEASE_TAG]=alpha2-dev
     [RELEASE_DATE]=
 )
@@ -98,6 +101,7 @@ echo "Test release of 3.2.0-beta1"
 expected=(
     [TYPE]=
     [VERSION]=3.2.0
+    [FULL_VERSION]=3.2.0-beta1
     [PRE_RELEASE_TAG]=beta1
     [RELEASE_DATE]="$today"
 )
@@ -108,6 +112,7 @@ echo "Test post-release of 3.2.0-beta1"
 expected=(
     [TYPE]=dev
     [VERSION]=3.2.0
+    [FULL_VERSION]=3.2.0-beta2-dev
     [PRE_RELEASE_TAG]=beta2-dev
     [RELEASE_DATE]=
 )
@@ -118,6 +123,7 @@ echo "Test release of 3.2.0"
 expected=(
     [TYPE]=
     [VERSION]=3.2.0
+    [FULL_VERSION]=3.2.0
     [PRE_RELEASE_TAG]=
     [RELEASE_DATE]="$today"
 )
@@ -128,6 +134,7 @@ echo "Test post-release of 3.2.0"
 expected=(
     [TYPE]=dev
     [VERSION]=3.2.1
+    [FULL_VERSION]=3.2.1-dev
     [PRE_RELEASE_TAG]=dev
     [RELEASE_DATE]=
 )
@@ -138,6 +145,7 @@ echo "Test release of 3.2.1"
 expected=(
     [TYPE]=
     [VERSION]=3.2.1
+    [FULL_VERSION]=3.2.1
     [PRE_RELEASE_TAG]=
     [RELEASE_DATE]="$today"
 )
@@ -148,6 +156,7 @@ echo "Test post-release of 3.2.1"
 expected=(
     [TYPE]=dev
     [VERSION]=3.2.2
+    [FULL_VERSION]=3.2.2-dev
     [PRE_RELEASE_TAG]=dev
     [RELEASE_DATE]=
 )
@@ -158,6 +167,7 @@ echo "Test switch to next minor release (3.3.0-dev)"
 expected=(
     [TYPE]=dev
     [VERSION]=3.3.0
+    [FULL_VERSION]=3.3.0-dev
     [PRE_RELEASE_TAG]=dev
     [RELEASE_DATE]=
 )
@@ -203,6 +213,7 @@ expected=(
     [TYPE]=dev
     [SERIES]=1.0.2
     [VERSION]=1.0.2zh
+    [FULL_VERSION]=1.0.2zh-dev
     [PRE_RELEASE_TAG]=dev
     [SHLIB_VERSION]=1.0.0
 )
@@ -213,6 +224,7 @@ echo "Test release of 1.0.2zh"
 expected=(
     [TYPE]=
     [VERSION]=1.0.2zh
+    [FULL_VERSION]=1.0.2zh
     [PRE_RELEASE_TAG]=
     [RELEASE_DATE]="$today"
 )
@@ -223,6 +235,7 @@ echo "Test post-release of 1.0.2zh"
 expected=(
     [TYPE]=dev
     [VERSION]=1.0.2zi
+    [FULL_VERSION]=1.0.2zi-dev
     [PRE_RELEASE_TAG]=dev
     [RELEASE_DATE]=
 )
index 00a54ba3b16dce47a893657499fe9d600501a2b7..06307cf65c4a3a263ef442229435d2045948de66 100755 (executable)
@@ -365,12 +365,11 @@ fi
 # Write the version information we updated
 set_version
 
+release="$FULL_VERSION"
 if [ -n "$PRE_LABEL" ]; then
-    release="$VERSION$_PRE_RELEASE_TAG$_BUILD_METADATA"
     release_text="$SERIES$_BUILD_METADATA $PRE_LABEL $PRE_NUM"
     announce_template=openssl-announce-pre-release.tmpl
 else
-    release="$VERSION$_BUILD_METADATA"
     release_text="$release"
     announce_template=openssl-announce-release.tmpl
 fi
@@ -470,7 +469,7 @@ prev_release_date="$RELEASE_DATE"
 next_release_state "$next_method2"
 set_version
 
-release="$VERSION$_PRE_RELEASE_TAG$_BUILD_METADATA"
+release="$FULL_VERSION"
 release_text="$VERSION$_BUILD_METADATA"
 if [ -n "$PRE_LABEL" ]; then
     release_text="$SERIES$_BUILD_METADATA $PRE_LABEL $PRE_NUM"
@@ -506,7 +505,7 @@ if $do_branch; then
     next_release_state "minor"
     set_version
 
-    release="$VERSION$_PRE_RELEASE_TAG$_BUILD_METADATA"
+    release="$FULL_VERSION"
     release_text="$SERIES$_BUILD_METADATA"
     $VERBOSE "== Updated version information to $release"