Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
Arnaldo Carvalho de Melo | c29ede6 | 2010-03-27 14:30:45 -0300 | [diff] [blame] | 3 | if [ $# -eq 1 ] ; then |
| 4 | OUTPUT=$1 |
| 5 | fi |
| 6 | |
| 7 | GVF=${OUTPUT}PERF-VERSION-FILE |
Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 8 | |
| 9 | LF=' |
| 10 | ' |
| 11 | |
Thavidu Ranatunga | 869599c | 2010-07-05 18:00:15 +1000 | [diff] [blame] | 12 | # First check if there is a .git to get the version from git describe |
| 13 | # otherwise try to get the version from the kernel makefile |
| 14 | if test -d ../../.git -o -f ../../.git && |
Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 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 |
| 23 | then |
| 24 | VN=$(echo "$VN" | sed -e 's/-/./g'); |
| 25 | else |
Thavidu Ranatunga | 869599c | 2010-07-05 18:00:15 +1000 | [diff] [blame] | 26 | eval `grep '^VERSION\s*=' ../../Makefile|tr -d ' '` |
| 27 | eval `grep '^PATCHLEVEL\s*=' ../../Makefile|tr -d ' '` |
| 28 | eval `grep '^SUBLEVEL\s*=' ../../Makefile|tr -d ' '` |
| 29 | eval `grep '^EXTRAVERSION\s*=' ../../Makefile|tr -d ' '` |
| 30 | |
| 31 | VN="${VERSION}.${PATCHLEVEL}.${SUBLEVEL}${EXTRAVERSION}" |
Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 32 | fi |
| 33 | |
| 34 | VN=$(expr "$VN" : v*'\(.*\)') |
| 35 | |
| 36 | if test -r $GVF |
| 37 | then |
| 38 | VC=$(sed -e 's/^PERF_VERSION = //' <$GVF) |
| 39 | else |
| 40 | VC=unset |
| 41 | fi |
| 42 | test "$VN" = "$VC" || { |
| 43 | echo >&2 "PERF_VERSION = $VN" |
| 44 | echo "PERF_VERSION = $VN" >$GVF |
| 45 | } |
| 46 | |
| 47 | |