From patchwork Wed Apr 21 12:42:59 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeremy Kerr X-Patchwork-Id: 50655 X-Patchwork-Delegate: apw@canonical.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from chlorine.canonical.com (chlorine.canonical.com [91.189.94.204]) by ozlabs.org (Postfix) with ESMTP id 2D7D1B7CF7 for ; Wed, 21 Apr 2010 22:43:20 +1000 (EST) Received: from localhost ([127.0.0.1] helo=chlorine.canonical.com) by chlorine.canonical.com with esmtp (Exim 4.69) (envelope-from ) id 1O4ZGp-0007RO-Ge; Wed, 21 Apr 2010 13:43:11 +0100 Received: from ozlabs.org ([203.10.76.45]) by chlorine.canonical.com with esmtp (Exim 4.69) (envelope-from ) id 1O4ZGm-0007Qt-Rs for kernel-team@lists.ubuntu.com; Wed, 21 Apr 2010 13:43:09 +0100 Received: by ozlabs.org (Postfix, from userid 1023) id 4493EB7D0E; Wed, 21 Apr 2010 22:43:06 +1000 (EST) MIME-Version: 1.0 Subject: [RFC, PATCH] UBUNTU: fix perf kernel version detection for multiple-flavour strings Message-Id: <1271853779.810767.819588158504.1.gpush@pororo> To: kernel-team@lists.ubuntu.com From: Jeremy Kerr Date: Wed, 21 Apr 2010 20:42:59 +0800 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.9 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kernel-team-bounces@lists.ubuntu.com Errors-To: kernel-team-bounces@lists.ubuntu.com 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 --- debian/tools/perf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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" "$@"