blob: 842a9ab5ab56ce7164b1c0d27de32d788274c2c8 [file] [log] [blame]
Jens Axboe692a5d22012-04-11 22:07:07 +02001#!/bin/sh
2
3GVF=FIO-VERSION-FILE
Jens Axboe5e59cd02013-09-24 08:42:24 -06004DEF_VER=fio-2.1.3
Jens Axboe692a5d22012-04-11 22:07:07 +02005
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
Jens Axboe6418b9c2013-02-26 21:59:33 +010013 VN=`cat version` || VN="$DEF_VER"
Jens Axboe692a5d22012-04-11 22:07:07 +020014elif test -d .git -o -f .git &&
Jens Axboe6418b9c2013-02-26 21:59:33 +010015 VN=`git describe --match "fio-[0-9]*" --abbrev=4 HEAD 2>/dev/null` &&
Jens Axboe692a5d22012-04-11 22:07:07 +020016 case "$VN" in
17 *$LF*) (exit 1) ;;
18 v[0-9]*)
19 git update-index -q --refresh
Jens Axboe6418b9c2013-02-26 21:59:33 +010020 test -z "`git diff-index --name-only HEAD --`" ||
Jens Axboe692a5d22012-04-11 22:07:07 +020021 VN="$VN-dirty" ;;
22 esac
23then
24 VN=$VN
25else
26 VN="$DEF_VER"
27fi
28
Jens Axboe6418b9c2013-02-26 21:59:33 +010029VN=`expr "$VN" : v*'\(.*\)'`
Jens Axboe692a5d22012-04-11 22:07:07 +020030
31if test -r $GVF
32then
Jens Axboe6418b9c2013-02-26 21:59:33 +010033 VC=`sed -e 's/^FIO_VERSION = //' <$GVF`
Jens Axboe692a5d22012-04-11 22:07:07 +020034else
35 VC=unset
36fi
37test "$VN" = "$VC" || {
38 echo >&2 "FIO_VERSION = $VN"
39 echo "FIO_VERSION = $VN" >$GVF
40}
41
42