summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-11-16 17:22:05 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-11-30 15:48:10 +0000
commit9e63f81c78e284c9b325fe04a1b59e61c7ad8a1a (patch)
tree6721fb09daa803d0e1b12a36be081ca9c20b0267
parentcaf1a69577b10bbb0e7914964e2ef4bb69c18def (diff)
downloadpoky-9e63f81c78e284c9b325fe04a1b59e61c7ad8a1a.tar.gz
bitbake: ast: remove BBVERSIONS support
BBVERSIONS is moderately horrible and it doesn't appear to be actually used by anyone, so remove it to simplify the finalise codepaths. (Bitbake rev: 0bb188f01e396052b127e170a25246d79a6d6741) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/parse/ast.py67
1 files changed, 0 insertions, 67 deletions
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index 7020940df9..853dda86b4 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -30,8 +30,6 @@ import itertools
30from bb import methodpool 30from bb import methodpool
31from bb.parse import logger 31from bb.parse import logger
32 32
33_bbversions_re = re.compile(r"\[(?P<from>[0-9]+)-(?P<to>[0-9]+)\]")
34
35class StatementGroup(list): 33class StatementGroup(list):
36 def eval(self, data): 34 def eval(self, data):
37 for statement in self: 35 for statement in self:
@@ -385,27 +383,6 @@ def _create_variants(datastores, names, function, onlyfinalise):
385 else: 383 else:
386 create_variant("%s-%s" % (variant, name), datastores[variant], name) 384 create_variant("%s-%s" % (variant, name), datastores[variant], name)
387 385
388def _expand_versions(versions):
389 def expand_one(version, start, end):
390 for i in range(start, end + 1):
391 ver = _bbversions_re.sub(str(i), version, 1)
392 yield ver
393
394 versions = iter(versions)
395 while True:
396 try:
397 version = next(versions)
398 except StopIteration:
399 break
400
401 range_ver = _bbversions_re.search(version)
402 if not range_ver:
403 yield version
404 else:
405 newversions = expand_one(version, int(range_ver.group("from")),
406 int(range_ver.group("to")))
407 versions = itertools.chain(newversions, versions)
408
409def multi_finalize(fn, d): 386def multi_finalize(fn, d):
410 appends = (d.getVar("__BBAPPEND") or "").split() 387 appends = (d.getVar("__BBAPPEND") or "").split()
411 for append in appends: 388 for append in appends:
@@ -422,50 +399,6 @@ def multi_finalize(fn, d):
422 d.setVar("__SKIPPED", e.args[0]) 399 d.setVar("__SKIPPED", e.args[0])
423 datastores = {"": safe_d} 400 datastores = {"": safe_d}
424 401
425 versions = (d.getVar("BBVERSIONS") or "").split()
426 if versions:
427 pv = orig_pv = d.getVar("PV")
428 baseversions = {}
429
430 def verfunc(ver, d, pv_d = None):
431 if pv_d is None:
432 pv_d = d
433
434 overrides = d.getVar("OVERRIDES").split(":")
435 pv_d.setVar("PV", ver)
436 overrides.append(ver)
437 bpv = baseversions.get(ver) or orig_pv
438 pv_d.setVar("BPV", bpv)
439 overrides.append(bpv)
440 d.setVar("OVERRIDES", ":".join(overrides))
441
442 versions = list(_expand_versions(versions))
443 for pos, version in enumerate(list(versions)):
444 try:
445 pv, bpv = version.split(":", 2)
446 except ValueError:
447 pass
448 else:
449 versions[pos] = pv
450 baseversions[pv] = bpv
451
452 if pv in versions and not baseversions.get(pv):
453 versions.remove(pv)
454 else:
455 pv = versions.pop()
456
457 # This is necessary because our existing main datastore
458 # has already been finalized with the old PV, we need one
459 # that's been finalized with the new PV.
460 d = bb.data.createCopy(safe_d)
461 verfunc(pv, d, safe_d)
462 try:
463 finalize(fn, d)
464 except bb.parse.SkipRecipe as e:
465 d.setVar("__SKIPPED", e.args[0])
466
467 _create_variants(datastores, versions, verfunc, onlyfinalise)
468
469 extended = d.getVar("BBCLASSEXTEND") or "" 402 extended = d.getVar("BBCLASSEXTEND") or ""
470 if extended: 403 if extended:
471 # the following is to support bbextends with arguments, for e.g. multilib 404 # the following is to support bbextends with arguments, for e.g. multilib