blob: ad73300f7bac6d1b11e4db0f1e121e0e26b0fb0c [file] [log] [blame]
Ingo Molnar07800602009-04-20 15:00:56 +02001#!/bin/sh
2
Arnaldo Carvalho de Meloc29ede62010-03-27 14:30:45 -03003if [ $# -eq 1 ] ; then
4 OUTPUT=$1
5fi
6
7GVF=${OUTPUT}PERF-VERSION-FILE
Ingo Molnar07800602009-04-20 15:00:56 +02008
9LF='
10'
11
Thavidu Ranatunga869599c2010-07-05 18:00:15 +100012# 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
14if test -d ../../.git -o -f ../../.git &&
Ingo Molnar07800602009-04-20 15:00:56 +020015 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
Andy Whitcroft37aa9a22011-06-15 14:35:00 +010026 VN=$(MAKEFLAGS= make -sC ../.. kernelversion)
Ingo Molnar07800602009-04-20 15:00:56 +020027fi
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