1#!/bin/sh 2 3GVF=PERF-VERSION-FILE 4DEF_VER=v0.0.1.PERF 5 6LF=' 7' 8 9# First see if there is a version file (included in release tarballs), 10# then try git-describe, then default. 11if test -f version 12then 13 VN=$(cat version) || VN="$DEF_VER" 14elif test -d .git -o -f .git && 15 VN=$(git describe --abbrev=4 HEAD 2>/dev/null) && 16 case "$VN" in 17 *$LF*) (exit 1) ;; 18 v[0-9]*) 19 git update-index -q --refresh 20 test -z "$(git diff-index --name-only HEAD --)" || 21 VN="$VN-dirty" ;; 22 esac 23then 24 VN=$(echo "$VN" | sed -e 's/-/./g'); 25else 26 VN="$DEF_VER" 27fi 28 29VN=$(expr "$VN" : v*'\(.*\)') 30 31if test -r $GVF 32then 33 VC=$(sed -e 's/^PERF_VERSION = //' <$GVF) 34else 35 VC=unset 36fi 37test "$VN" = "$VC" || { 38 echo >&2 "PERF_VERSION = $VN" 39 echo "PERF_VERSION = $VN" >$GVF 40} 41 42 43