From: Aki Tuomi Date: Tue, 25 Apr 2023 06:28:06 +0000 (+0300) Subject: build-aux: Update version scripts to support rolling releases X-Git-Tag: 2.4.0~2784 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=685f1f183239c3dcfc02642548b95fec7ccbf8f4;p=thirdparty%2Fdovecot%2Fcore.git build-aux: Update version scripts to support rolling releases For ABI version, we do the following 2023.1 => 2023.ABIv1 2023.1-1 => 2023.ABIv1 2023.1-1+foo5 => 2023.ABIv1 2.4.0 => 2.4.ABIv0 2.4.0-1 => 2.4.ABIv0 2.4.0-1+foo5 => 2.4.ABIv0 Empty version produces 0.0.ABIv0 --- diff --git a/build-aux/git-abi-version-gen b/build-aux/git-abi-version-gen index f25ccd7332..3d96b2a19e 100755 --- a/build-aux/git-abi-version-gen +++ b/build-aux/git-abi-version-gen @@ -1,14 +1,36 @@ #!/bin/sh -## serial 1 +set -eu -if test "${VERSION}" != ""; then - VN=`echo ${VERSION} | sed -e "s/^\([0-9]*\.[0-9]*\)\.\([0-9]*\).*/\1.ABIv\2(${VERSION})/"` +# serial 2 + +# Converts version to ABI version (discards extra information) + +mangle_version() +{ + case "$1" in + # Convert YYYY.nn-foo+bar (rolling release) to + # YYYY.ABIvnn + 20*[[:digit:]].*[[:digit:]]) + echo \"`echo $1 | sed -e "s/^\(20[0-9]*\)\.\([0-9]*\).*/\1.ABIv\2/"`\" + ;; + # Convert 2.x.x-foo+bar and 3.x.x-foo+bar to + # MAJOR.MINOR.ABIvPATCH + [23].*[[:digit:]].*[[:digit:]]) + echo \"`echo $1 | sed -e "s/^\([0-9]*\.[0-9]*\)\.\([0-9]*\).*/\1.ABIv\2/"`\" + ;; + *) + echo "\"0.0.ABIv0\"" + ;; + esac +} + +if test "${VERSION:-}" != ""; then + : elif test -f version; then - VN=`cat version` - VN=`echo $VN | sed -e "s/^\([0-9]*\.[0-9]*\)\.\([0-9]*\).*/\1.ABIv\2($VN)/"` + VERSION="`cat version`" else test -d .git; - VN="0.0.ABIv0(0.0.0)" + VERSION="0.0.0" fi -echo \"$VN\" +mangle_version $VERSION diff --git a/build-aux/git-tarname-version-gen b/build-aux/git-tarname-version-gen deleted file mode 100755 index 40ecf61a95..0000000000 --- a/build-aux/git-tarname-version-gen +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -## serial 1 - -if test "${VERSION}" != ""; then - VN=`echo ${VERSION} | sed -e "s/^\([0-9]*\.[0-9]*\)\.\([0-9]*\).*/dovecot-\1-plugin_name/"` -elif test -f version; then - VN=`cat version` - VN=`echo $VN | sed -e "s/^\([0-9]*\.[0-9]*\)\.\([0-9]*\).*/dovecot-\1-plugin_name/"` -else - VN='dovecot-0.0-plugin_name' -fi - -echo $VN diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen index 0ea1638a02..e86abccdd6 100755 --- a/build-aux/git-version-gen +++ b/build-aux/git-version-gen @@ -1,6 +1,6 @@ #!/bin/sh -## serial 2 +# serial 2 if test "${VERSION}" != ""; then VN="${VERSION}"