869599ceda
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 <tharan@au1.ibm.com> Acked-by: Ian Munsie <imunsie@au1.ibm.com> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> LKML-Reference: <1278316815-6099-2-git-send-email-tharan@au1.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
47 lines
1,006 B
Bash
Executable file
47 lines
1,006 B
Bash
Executable file
#!/bin/sh
|
|
|
|
if [ $# -eq 1 ] ; then
|
|
OUTPUT=$1
|
|
fi
|
|
|
|
GVF=${OUTPUT}PERF-VERSION-FILE
|
|
|
|
LF='
|
|
'
|
|
|
|
# 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) ;;
|
|
v[0-9]*)
|
|
git update-index -q --refresh
|
|
test -z "$(git diff-index --name-only HEAD --)" ||
|
|
VN="$VN-dirty" ;;
|
|
esac
|
|
then
|
|
VN=$(echo "$VN" | sed -e 's/-/./g');
|
|
else
|
|
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*'\(.*\)')
|
|
|
|
if test -r $GVF
|
|
then
|
|
VC=$(sed -e 's/^PERF_VERSION = //' <$GVF)
|
|
else
|
|
VC=unset
|
|
fi
|
|
test "$VN" = "$VC" || {
|
|
echo >&2 "PERF_VERSION = $VN"
|
|
echo "PERF_VERSION = $VN" >$GVF
|
|
}
|
|
|
|
|