Skip to contentSkip to conversation

Bugfix in PRINC increment

PATCH Applied Khem Raj 2 participants 3 messages May 16, 2011 – May 17, 2011

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

cover Bugfix in PRINC increment

Pull URL: git://git.openembedded.org/openembedded-core-contrib
Branch: kraj/princ
Browse: http://git.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/princ

Thanks,
Khem Raj <[email protected]>
---

Khem Raj (1):
base.bbclass: Fix PR increment bug when PR number is a single digit

 meta/classes/base.bbclass |   19 ++++++-------------
 1 files changed, 6 insertions(+), 13 deletions(-)
Signature · 1 line
1.7.4.1
author
#1 lore raw

PATCH 1/1 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

---
 meta/classes/base.bbclass |   19 ++++++-------------
 1 files changed, 6 insertions(+), 13 deletions(-)
meta/classes/base.bbclass +6 -13
index d9ed15f..23095ec 100644
@@ -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)
Signature · 1 line
1.7.4.1
Applied
#2 lore raw
In reply to Khem Raj
Quoted 10 lines · Khem Raj

Pull URL: git://git.openembedded.org/openembedded-core-contrib
Branch: kraj/princ
Browse: http://git.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/princ

Thanks,
Khem Raj<[email protected]>
---

Quoted 6 lines

Khem Raj (1):
base.bbclass: Fix PR increment bug when PR number is a single digit

  meta/classes/base.bbclass |   19 ++++++-------------
  1 files changed, 6 insertions(+), 13 deletions(-)

Merged into oe-core

Thanks
Sau!