perf tools: Handle --version string generation on machines without git
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 30 Oct 2012 15:44:40 +0000 (13:44 -0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 31 Oct 2012 14:17:49 +0000 (12:17 -0200)
If git is installed we'll have a 'perf --version' output of this form:

$ make -j8 -C tools/perf/ O=/home/acme/git/build/perf install
$ perf --version
perf version 3.7.rc3.g3afad6

Now on a machine without git installed:

$ mv  /home/acme/bin/git /home/acme/bin/git.OFF
$ make -j8 -C tools/perf/ O=/home/acme/git/build/perf install
$ perf --version
perf version 3.7.0-rc2

That is, no error message due to git not being installed will appear on the
screen and instead the version string in the top level Makefile will be
used.

Requested-by: Ingo Molnar <mingo@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-am6yp6phvxyjmyndxogpunjv@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/PERF-VERSION-GEN

index ac418a1255e6c2b715b94fbc71239f1a73283cd1..6aa34e5afdcfc0a57cafc12d6bc631d2d8169fbb 100755 (executable)
@@ -14,8 +14,9 @@ LF='
 # otherwise try to get the version from the kernel Makefile
 #
 if test -d ../../.git -o -f ../../.git &&
-       VN=$(echo $(git tag -l "v[0-9].[0-9]*" | tail -1)"-g"$(git log -1 --abbrev=4 --pretty=format:"%h" HEAD) 2>/dev/null)
+       VN=$(git tag 2>/dev/null | tail -1 | grep -E "v[0-9].[0-9]*")
 then
+       VN=$(echo $VN"-g"$(git log -1 --abbrev=4 --pretty=format:"%h" HEAD))
        VN=$(echo "$VN" | sed -e 's/-/./g');
 else
        VN=$(MAKEFLAGS= make -sC ../.. kernelversion)
This page took 0.028248 seconds and 5 git commands to generate.