On 30/10/2025 16:33 EET Genes Lists via dovecot <dovecot@dovecot.org> wrote:
On Thu, 2025-10-30 at 09:56 -0400, pgnd via dovecot wrote:
note, given @ https://github.com/dovecot/core/blob/main/build- aux/git-abi-version-gen
... if test "${VERSION:-}" != ""; then : elif test -f version; then <--------------- VERSION="
cat version" elif test -e .git; then <--------------- VERSION="0.0.0" That is super helpful. My cas pulls from git and so ".git" is indeed present.I see the file "version" is used in both build-aux/git-version-gen and git-abi-version-gen which are used in configure. But I don't see the file "abi-version" being used?
I will modify our work flow after the git fetch; git pull to extract the last release version from git and put it into the file(s) as you suggested.
The last version can be found for example using:
git tag -l '[0-9]\.[0-9]*' --sort=v:refname | tail -1
The script build-aux/git-version-gen could be changed to report 2.4.2-xxx+yyy-dirty instead of 0.0.0-xxx+yyy-dirty which would get written to the "version" file.
however even in that case git-abi-version-gen misses the case statement and reports abi versin as 0.0.0.ABIv0 instead of 2.4.ABIv2 as happens when version file contains just "2.4.2".
In summary, best I can tell, if I simply put the last tagged release into the version file (without any commit hash etc) it will do something reasonable and thereafter recognize our test configs using 2.4.2 config version.
Unless there is a better way.
thanks!
-- Gene
the version file should be present in tag 2.4.2 and in release-2.4.2 branch.
Aki