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 () { } 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)