Message ID | 1271853779.810767.819588158504.1.gpush@pororo |
---|---|
State | Superseded |
Delegated to: | Andy Whitcroft |
Headers | show |
diff --git a/debian/tools/perf b/debian/tools/perf index 1a9915f..33df59d 100644 --- a/debian/tools/perf +++ b/debian/tools/perf @@ -1,4 +1,5 @@ #!/bin/bash version=`uname -r` -version=${version%-*} +version=${version/-[^0-9]*} +version=${version%-386} exec "perf_$version" "$@"
Currently, the perf tool doesn't work for the generic-pae flavour: $ bash -x /usr/bin/perf ++ uname -r + version=2.6.32-21-generic-pae + version=2.6.32-21-generic + exec perf_2.6.32-21-generic /usr/bin/perf: line 4: exec: perf_2.6.32-21-generic: not found - the PAE flavour has a version string ending in -generic-pae, but the version cleaning in the perf script doesn't handle the multiple flavour strings correctly. The perf tool is named perf_2.6.32-21, not perf_2.6.32-21-generic. This change fixes the perf wrapper script to throw away version data after a 'dash, non-digit' sequence instead of just the last dash. This fixes the problem on the PAE kernel. We need to do a special pass for the -386 flavour, as it's virtually indisinguishable from a normal version number. Testing this parsing against the possible flavours gives: 2.6.32-21-generic -> 2.6.32-21 2.6.32-21-server -> 2.6.32-21 2.6.32-21-preempt -> 2.6.32-21 2.6.32-21-versatile -> 2.6.32-21 2.6.32-21-generic -> 2.6.32-21 2.6.32-21-generic-pae -> 2.6.32-21 2.6.32-21-386 -> 2.6.32-21 2.6.32-21-ia64 -> 2.6.32-21 2.6.32-21-lpia -> 2.6.32-21 2.6.32-21-powerpc -> 2.6.32-21 2.6.32-21-powerpc-smp -> 2.6.32-21 2.6.32-21-powerpc64-smp -> 2.6.32-21 2.6.32-21-sparc64 -> 2.6.32-21 2.6.32-21-sparc64-smp -> 2.6.32-21 Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com> --- debian/tools/perf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)