Skip to contentSkip to conversation

perf tools: Handle --version string generation on machines without git

tip:perf/core tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Nov 14, 2012 perf events

lore
Share & tools
lore
#0 lore raw
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.

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]>
---
 tools/perf/util/PERF-VERSION-GEN |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
tools/perf/util/PERF-VERSION-GEN +2 -1
index ac418a1..6aa34e5 100755
@@ -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)