summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-05-16 11:18:38 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-17 15:14:44 +0100
commit339d4933a536e1d672f9d6854742e5ebf16f2639 (patch)
tree35835c0f8961181ff564e6842cd49c1c59fe586a
parent60ab6fc60cba2ec2456125b618d23f98966468bd (diff)
downloadast2050-yocto-poky-339d4933a536e1d672f9d6854742e5ebf16f2639.zip
ast2050-yocto-poky-339d4933a536e1d672f9d6854742e5ebf16f2639.tar.gz
base.bbclass: Fix PR increment bug when PR number is a single digit
PRINC which should add to base PR value has a problem when the PR is single digit e.g. r0 - r9. Current algorithm needed atleasts 2 digits to successfully populate end and begin markers. We reimplement the incrementing algorithm using regular expressions which addressed the above mentioned problem and simplifies the logic a bit and gets rid of loops and conditionals (From OE-Core rev: 9aeaae7b786a42d213ad4224743dfd49e2324077) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/base.bbclass19
1 files changed, 6 insertions, 13 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 5f03de8..0c7f8fc 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -233,25 +233,18 @@ do_build () {
}
python () {
- import exceptions, string
+ import exceptions, string, re
# If PRINC is set, try and increase the PR value by the amount specified
princ = bb.data.getVar('PRINC', d, True)
if princ:
pr = bb.data.getVar('PR', d, True)
- start = -1
- end = -1
- for i in range(len(pr)):
- if pr[i] in string.digits:
- if start == -1:
- start = i
- else:
- end = i
- if start == -1 or end == -1:
+ pr_prefix = re.search("\D+",pr)
+ prval = re.search("\d+",pr)
+ if pr_prefix is None or prval is None:
bb.error("Unable to analyse format of PR variable: %s" % pr)
- prval = pr[start:end+1]
- prval = int(prval) + int(princ)
- pr = pr[0:start] + str(prval) + pr[end:len(pr)-1]
+ nval = int(prval.group(0)) + int(princ)
+ pr = pr_prefix.group(0) + str(nval) + pr[prval.end():]
bb.data.setVar('PR', pr, d)
pn = bb.data.getVar('PN', d, 1)
OpenPOWER on IntegriCloud