1 #!/bin/sh 2 3 GVF=FIO-VERSION-FILE 4 DEF_VER=fio-2.2.6 5 6 LF=' 7 ' 8 9 # First see if there is a version file (included in release tarballs), 10 # then try git-describe, then default. 11 if test -f version 12 then 13 VN=`cat version` || VN="$DEF_VER" 14 elif test -d .git -o -f .git && 15 VN=`git describe --match "fio-[0-9]*" --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 23 then 24 VN=$VN 25 else 26 VN="$DEF_VER" 27 fi 28 29 VN=`expr "$VN" : v*'\(.*\)'` 30 31 if test -r $GVF 32 then 33 VC=`sed -e 's/^FIO_VERSION = //' <$GVF` 34 else 35 VC=unset 36 fi 37 test "$VN" = "$VC" || { 38 echo >&2 "FIO_VERSION = $VN" 39 echo "FIO_VERSION = $VN" >$GVF 40 } 41 42 43