From c24424327409544807a781bba4e6f9a8e178dcce Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Fri, 19 Mar 2010 17:22:19 -0700 Subject: Implement BBVERSIONS This implements a feature similar to BBCLASSEXTEND, but for generating multiple versions of a given recipe. For example: BBVERSIONS = "1.0 2.0 git". In addition to the above, one can utilize [a-b] style patterns, and can have a : postfix, which allows you to essentially name the range of versions. Both the current version and the basever end up in OVERRIDES, and the basever gets placed into the BPV variable. The default BPV, if none is specified, is the original PV of the recipe, before bbversions processing. In this way, you can do things like: BBVERSIONS = "1.0.[0-6]:1.0.0+ 1.0.[7-9]:1.0.7+" SRC_URI_append_1.0.7+ = "file://some_extra_patch.patch;patch=1" Or you can create a recipe per range, and name the recipe file as such: nano_1.0.7+.bb. (Bitbake rev: 4ee9a56e16f1eb3c1649eaa3127b09ab0e93d1ec) Signed-off-by: Chris Larson Signed-off-by: Richard Purdie --- bitbake/lib/bb/parse/parse_py/BBHandler.py | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) (limited to 'bitbake/lib/bb/parse/parse_py') diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py index 4641c13d9..262c883c9 100644 --- a/bitbake/lib/bb/parse/parse_py/BBHandler.py +++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py @@ -152,30 +152,8 @@ def handle(fn, d, include): classes.remove(__classname__) else: if include == 0: - safe_d = d - d = bb.data.createCopy(safe_d) - try: - ast.finalise(fn, d) - except bb.parse.SkipPackage: - bb.data.setVar("__SKIPPED", True, d) - darray = {"": d} - - extended = bb.data.getVar("BBCLASSEXTEND", d, True) - if extended: - bb.data.setVar("BBCLASSEXTEND", extended, safe_d) - - for cls in (extended or "").split(): - pn = data.getVar('PN', d, True) - variant_d = bb.data.createCopy(safe_d) - data.setVar('PN', pn + '-' + cls, variant_d) - inherit([cls], variant_d) - try: - ast.finalise(fn, variant_d) - except bb.parse.SkipPackage: - bb.data.setVar("__SKIPPED", True, variant_d) - darray[cls] = variant_d - return darray - + return ast.multi_finalize(fn, d) + if oldfile: bb.data.setVar("FILE", oldfile, d) -- cgit v1.2.3