git-abi-version-gen 796 B
#!/bin/sh
set -eu
# 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
VERSION="`cat version`"
elif test -e .git; then
VERSION="0.0.0"
else
echo "Cannot determine version number">&2
exit 1
fi
mangle_version $VERSION