diff --git a/build-aux/git-abi-version-gen b/build-aux/git-abi-version-gen
index f25ccd73329835e9800a066ae551f0117973ce1a..3d96b2a19ed54abfda2230aab57e8ac070fc5d96 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 021cbd61f22255f8f6b3c199bebeb8cb681d086b..0000000000000000000000000000000000000000
--- 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-pigeonhole/"`
-elif test -f version; then
-  VN=`cat version`
-  VN=`echo $VN | sed -e "s/^\([0-9]*\.[0-9]*\)\.\([0-9]*\).*/dovecot-\1-pigeonhole/"`
-else
-  VN='dovecot-0.0-pigeonhole'
-fi
-
-echo $VN
diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen
index 0ea1638a025aaba6bfe93500dc88785fcf388b97..e86abccdd67bea399d9587524ca7dccca17b5ef0 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}"