summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/recipeutils.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-08-16 18:00:13 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-08-18 10:07:23 +0100
commit189371f8393971d00bca0fceffd67cc07784f6ee (patch)
tree3b210e6773ea695a18db318f538e47842a1b9e2c /meta/lib/oe/recipeutils.py
parent8b35b032ed47e8f8a89bce354ffd82e0301043ac (diff)
downloadpoky-189371f8393971d00bca0fceffd67cc07784f6ee.tar.gz
devtool/recipetool/meta: Adapt to bitbake API changes for multi-configuration builds
Unfortunately to implenent multiconfig support in bitbake some APIs had to change. This updates code in OE to match the changes in bitbake. Its mostly periperhal changes around devtool/recipetool [Will need a bitbake version requirement bump which I'll make when merging] (From OE-Core rev: 041212fa37bb83acac5ce4ceb9b7b77ad172c5c3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe/recipeutils.py')
-rw-r--r--meta/lib/oe/recipeutils.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py
index c77664f135..e7dd8afb08 100644
--- a/meta/lib/oe/recipeutils.py
+++ b/meta/lib/oe/recipeutils.py
@@ -27,16 +27,16 @@ list_vars = ['SRC_URI', 'LIC_FILES_CHKSUM']
27meta_vars = ['SUMMARY', 'DESCRIPTION', 'HOMEPAGE', 'BUGTRACKER', 'SECTION'] 27meta_vars = ['SUMMARY', 'DESCRIPTION', 'HOMEPAGE', 'BUGTRACKER', 'SECTION']
28 28
29 29
30def pn_to_recipe(cooker, pn): 30def pn_to_recipe(cooker, pn, mc=''):
31 """Convert a recipe name (PN) to the path to the recipe file""" 31 """Convert a recipe name (PN) to the path to the recipe file"""
32 import bb.providers 32 import bb.providers
33 33
34 if pn in cooker.recipecache.pkg_pn: 34 if pn in cooker.recipecaches[mc].pkg_pn:
35 best = bb.providers.findBestProvider(pn, cooker.data, cooker.recipecache, cooker.recipecache.pkg_pn) 35 best = bb.providers.findBestProvider(pn, cooker.data, cooker.recipecaches[mc], cooker.recipecaches[mc].pkg_pn)
36 return best[3] 36 return best[3]
37 elif pn in cooker.recipecache.providers: 37 elif pn in cooker.recipecaches[mc].providers:
38 filenames = cooker.recipecache.providers[pn] 38 filenames = cooker.recipecaches[mc].providers[pn]
39 eligible, foundUnique = bb.providers.filterProviders(filenames, pn, cooker.expanded_data, cooker.recipecache) 39 eligible, foundUnique = bb.providers.filterProviders(filenames, pn, cooker.expanded_data, cooker.recipecaches[mc])
40 filename = eligible[0] 40 filename = eligible[0]
41 return filename 41 return filename
42 else: 42 else:
@@ -50,13 +50,14 @@ def get_unavailable_reasons(cooker, pn):
50 return taskdata.get_reasons(pn) 50 return taskdata.get_reasons(pn)
51 51
52 52
53def parse_recipe(fn, appendfiles, d): 53def parse_recipe(cooker, fn, appendfiles):
54 """ 54 """
55 Parse an individual recipe file, optionally with a list of 55 Parse an individual recipe file, optionally with a list of
56 bbappend files. 56 bbappend files.
57 """ 57 """
58 import bb.cache 58 import bb.cache
59 envdata = bb.cache.Cache.loadDataFull(fn, appendfiles, d) 59 parser = bb.cache.NoCache(cooker.databuilder)
60 envdata = parser.loadDataFull(fn, appendfiles)
60 return envdata 61 return envdata
61 62
62 63
@@ -79,7 +80,7 @@ def parse_recipe_simple(cooker, pn, d, appends=True):
79 appendfiles = cooker.collection.get_file_appends(recipefile) 80 appendfiles = cooker.collection.get_file_appends(recipefile)
80 else: 81 else:
81 appendfiles = None 82 appendfiles = None
82 return parse_recipe(recipefile, appendfiles, d) 83 return parse_recipe(cooker, recipefile, appendfiles)
83 84
84 85
85def get_var_files(fn, varlist, d): 86def get_var_files(fn, varlist, d):