perf tools: Handle --version string generation on machines without git
Commit-ID: 688b2c2f17943d48bccbaad4c43430ee68c4c1cd Gitweb: http://git.kernel.org/tip/688b2c2f17943d48bccbaad4c43430ee68c4c1cd Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Tue, 30 Oct 2012 13:44:40 -0200 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 31 Oct 2012 12:17:49 -0200
perf tools: Handle --version string generation on machines without git
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 <[email protected]>
Cc David Ahern <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Mike Galbraith <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/util/PERF-VERSION-GEN | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
tools/perf/util/PERF-VERSION-GEN +2 -1
@@ -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)