This gets rid of the default version fallback for Perf and changes it so that it
returns the version of the kernel from it's Makefile (if sources were not from
git, ie. if it was downloaded from a tarball)
Signed-off-by: Thavidu Ranatunga <[email protected]>
Signed-off-by: Ian Munsie <[email protected]>
---
tools/perf/util/PERF-VERSION-GEN | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/tools/perf/util/PERF-VERSION-GEN b/tools/perf/util/PERF-VERSION-GEN
index 1b32e8c..97d7656 100755
--- a/tools/perf/util/PERF-VERSION-GEN
+++ b/tools/perf/util/PERF-VERSION-GEN
@@ -5,17 +5,13 @@ if [ $# -eq 1 ] ; then
fi
GVF=${OUTPUT}PERF-VERSION-FILE
-DEF_VER=v0.0.2.PERF
LF='
'
-# First see if there is a version file (included in release tarballs),
-# then try git-describe, then default.
-if test -f version
-then
- VN=$(cat version) || VN="$DEF_VER"
-elif test -d ../../.git -o -f ../../.git &&
+# First check if there is a .git to get the version from git describe
+# otherwise try to get the version from the kernel makefile
+if test -d ../../.git -o -f ../../.git &&
VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
case "$VN" in
*$LF*) (exit 1) ;;
@@ -27,7 +23,12 @@ elif test -d ../../.git -o -f ../../.git &&
then
VN=$(echo "$VN" | sed -e 's/-/./g');
else
- VN="$DEF_VER"
+ eval `grep '^VERSION\s*=' ../../Makefile|tr -d ' '`
+ eval `grep '^PATCHLEVEL\s*=' ../../Makefile|tr -d ' '`
+ eval `grep '^SUBLEVEL\s*=' ../../Makefile|tr -d ' '`
+ eval `grep '^EXTRAVERSION\s*=' ../../Makefile|tr -d ' '`
+
+ VN="${VERSION}.${PATCHLEVEL}.${SUBLEVEL}${EXTRAVERSION}"
fi
VN=$(expr "$VN" : v*'\(.*\)')
--
1.6.3.3
Commit-ID: 869599ceda4a035cdb3345c563b74cdeef10f790
Gitweb: http://git.kernel.org/tip/869599ceda4a035cdb3345c563b74cdeef10f790
Author: Thavidu Ranatunga <[email protected]>
AuthorDate: Mon, 5 Jul 2010 18:00:15 +1000
Committer: Ingo Molnar <[email protected]>
CommitDate: Mon, 5 Jul 2010 10:42:58 +0200
perf: Version String fix, for fallback if not from git
This gets rid of the default version fallback for Perf and
changes it so that it returns the version of the kernel from
it's Makefile (if sources were not from git, ie. if it was
downloaded from a tarball)
Signed-off-by: Thavidu Ranatunga <[email protected]>
Acked-by: Ian Munsie <[email protected]>
Acked-by: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
---
tools/perf/util/PERF-VERSION-GEN | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/tools/perf/util/PERF-VERSION-GEN b/tools/perf/util/PERF-VERSION-GEN
index 1b32e8c..97d7656 100755
--- a/tools/perf/util/PERF-VERSION-GEN
+++ b/tools/perf/util/PERF-VERSION-GEN
@@ -5,17 +5,13 @@ if [ $# -eq 1 ] ; then
fi
GVF=${OUTPUT}PERF-VERSION-FILE
-DEF_VER=v0.0.2.PERF
LF='
'
-# First see if there is a version file (included in release tarballs),
-# then try git-describe, then default.
-if test -f version
-then
- VN=$(cat version) || VN="$DEF_VER"
-elif test -d ../../.git -o -f ../../.git &&
+# First check if there is a .git to get the version from git describe
+# otherwise try to get the version from the kernel makefile
+if test -d ../../.git -o -f ../../.git &&
VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
case "$VN" in
*$LF*) (exit 1) ;;
@@ -27,7 +23,12 @@ elif test -d ../../.git -o -f ../../.git &&
then
VN=$(echo "$VN" | sed -e 's/-/./g');
else
- VN="$DEF_VER"
+ eval `grep '^VERSION\s*=' ../../Makefile|tr -d ' '`
+ eval `grep '^PATCHLEVEL\s*=' ../../Makefile|tr -d ' '`
+ eval `grep '^SUBLEVEL\s*=' ../../Makefile|tr -d ' '`
+ eval `grep '^EXTRAVERSION\s*=' ../../Makefile|tr -d ' '`
+
+ VN="${VERSION}.${PATCHLEVEL}.${SUBLEVEL}${EXTRAVERSION}"
fi
VN=$(expr "$VN" : v*'\(.*\)')
Em Mon, Jul 05, 2010 at 06:00:15PM +1000, Thavidu Ranatunga escreveu:
> This gets rid of the default version fallback for Perf and changes it so that it
> returns the version of the kernel from it's Makefile (if sources were not from
> git, ie. if it was downloaded from a tarball)
>
> Signed-off-by: Thavidu Ranatunga <[email protected]>
> Signed-off-by: Ian Munsie <[email protected]>
> VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
> case "$VN" in
> *$LF*) (exit 1) ;;
> @@ -27,7 +23,12 @@ elif test -d ../../.git -o -f ../../.git &&
> then
> VN=$(echo "$VN" | sed -e 's/-/./g');
> else
> - VN="$DEF_VER"
> + eval `grep '^VERSION\s*=' ../../Makefile|tr -d ' '`
> + eval `grep '^PATCHLEVEL\s*=' ../../Makefile|tr -d ' '`
> + eval `grep '^SUBLEVEL\s*=' ../../Makefile|tr -d ' '`
> + eval `grep '^EXTRAVERSION\s*=' ../../Makefile|tr -d ' '`
> +
> + VN="${VERSION}.${PATCHLEVEL}.${SUBLEVEL}${EXTRAVERSION}"
This makes 'make perf-tarbz2-src-pkg':
[acme@emilia linux-2.6-tip]$ make perf-tarbz2-src-pkg
TAR
[acme@emilia linux-2.6-tip]$ mv perf-2.6.35-rc4.tar.bz2 /tmp
[acme@emilia linux-2.6-tip]$ cd /tmp
[acme@emilia tmp]$ tar xf perf-2.6.35-rc4.tar.bz2
[acme@emilia tmp]$ cd perf-2.6.35-rc4/tools/perf
[acme@emilia perf]$ make
grep: ../../Makefile: No such file or directory
grep: ../../Makefile: No such file or directory
- Arnaldo
Em Thu, Jul 08, 2010 at 05:57:54PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Mon, Jul 05, 2010 at 06:00:15PM +1000, Thavidu Ranatunga escreveu:
> > This gets rid of the default version fallback for Perf and changes it so that it
> > returns the version of the kernel from it's Makefile (if sources were not from
> > git, ie. if it was downloaded from a tarball)
> > Signed-off-by: Thavidu Ranatunga <[email protected]>
> > Signed-off-by: Ian Munsie <[email protected]>
>
> > - VN="$DEF_VER"
> > + eval `grep '^VERSION\s*=' ../../Makefile|tr -d ' '`
> > + eval `grep '^PATCHLEVEL\s*=' ../../Makefile|tr -d ' '`
> > + eval `grep '^SUBLEVEL\s*=' ../../Makefile|tr -d ' '`
> > + eval `grep '^EXTRAVERSION\s*=' ../../Makefile|tr -d ' '`
> > +
> > + VN="${VERSION}.${PATCHLEVEL}.${SUBLEVEL}${EXTRAVERSION}"
>
> This makes 'make perf-tarbz2-src-pkg':
>
> [acme@emilia linux-2.6-tip]$ make perf-tarbz2-src-pkg
> TAR
> [acme@emilia linux-2.6-tip]$ mv perf-2.6.35-rc4.tar.bz2 /tmp
> [acme@emilia linux-2.6-tip]$ cd /tmp
> [acme@emilia tmp]$ tar xf perf-2.6.35-rc4.tar.bz2
> [acme@emilia tmp]$ cd perf-2.6.35-rc4/tools/perf
> [acme@emilia perf]$ make
> grep: ../../Makefile: No such file or directory
> grep: ../../Makefile: No such file or directory
But at least the 'make perf-tar*' targets aren't in perf/urgent, so I'll
work on a fix for perf/core (aka 2.6.36).
- Arnaldo