#!/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