diff options
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/base.bbclass | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 5f03de8247..0c7f8fcae3 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass | |||
@@ -233,25 +233,18 @@ do_build () { | |||
233 | } | 233 | } |
234 | 234 | ||
235 | python () { | 235 | python () { |
236 | import exceptions, string | 236 | import exceptions, string, re |
237 | 237 | ||
238 | # If PRINC is set, try and increase the PR value by the amount specified | 238 | # If PRINC is set, try and increase the PR value by the amount specified |
239 | princ = bb.data.getVar('PRINC', d, True) | 239 | princ = bb.data.getVar('PRINC', d, True) |
240 | if princ: | 240 | if princ: |
241 | pr = bb.data.getVar('PR', d, True) | 241 | pr = bb.data.getVar('PR', d, True) |
242 | start = -1 | 242 | pr_prefix = re.search("\D+",pr) |
243 | end = -1 | 243 | prval = re.search("\d+",pr) |
244 | for i in range(len(pr)): | 244 | if pr_prefix is None or prval is None: |
245 | if pr[i] in string.digits: | ||
246 | if start == -1: | ||
247 | start = i | ||
248 | else: | ||
249 | end = i | ||
250 | if start == -1 or end == -1: | ||
251 | bb.error("Unable to analyse format of PR variable: %s" % pr) | 245 | bb.error("Unable to analyse format of PR variable: %s" % pr) |
252 | prval = pr[start:end+1] | 246 | nval = int(prval.group(0)) + int(princ) |
253 | prval = int(prval) + int(princ) | 247 | pr = pr_prefix.group(0) + str(nval) + pr[prval.end():] |
254 | pr = pr[0:start] + str(prval) + pr[end:len(pr)-1] | ||
255 | bb.data.setVar('PR', pr, d) | 248 | bb.data.setVar('PR', pr, d) |
256 | 249 | ||
257 | pn = bb.data.getVar('PN', d, 1) | 250 | pn = bb.data.getVar('PN', d, 1) |