diff options
Diffstat (limited to 'lib/bb')
-rw-r--r-- | lib/bb/utils.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/bb/utils.py b/lib/bb/utils.py index b7e2c9218..d6afa2154 100644 --- a/lib/bb/utils.py +++ b/lib/bb/utils.py @@ -1457,14 +1457,20 @@ def edit_bblayers_conf(bblayers_conf, add, remove, edit_cb=None): return (notadded, notremoved) - -def get_file_layer(filename, d): - """Determine the collection (as defined by a layer's layer.conf file) containing the specified file""" +def get_collection_res(d): collections = (d.getVar('BBFILE_COLLECTIONS') or '').split() collection_res = {} for collection in collections: collection_res[collection] = d.getVar('BBFILE_PATTERN_%s' % collection) or '' + return collection_res + + +def get_file_layer(filename, d, collection_res={}): + """Determine the collection (as defined by a layer's layer.conf file) containing the specified file""" + if not collection_res: + collection_res = get_collection_res(d) + def path_to_layer(path): # Use longest path so we handle nested layers matchlen = 0 |