mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 00:32:12 +02:00
bitbake: utils: add optional callback to edit_bblayers_conf()
Add a callback that lets you modify or remove items in addition to the current scheme where you can only add or remove. This enables you to for example replace a layer with a temporary copy (which is what we will use this for first in OE's oe-selftest). (Bitbake rev: 4f6ba26e8335f975038d90b9e1c1767160bd5272) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
9f8d417c32
commit
d3ad243822
@@ -1290,7 +1290,7 @@ def edit_metadata_file(meta_file, variables, varfunc):
|
||||
return updated
|
||||
|
||||
|
||||
def edit_bblayers_conf(bblayers_conf, add, remove):
|
||||
def edit_bblayers_conf(bblayers_conf, add, remove, edit_cb=None):
|
||||
"""Edit bblayers.conf, adding and/or removing layers
|
||||
Parameters:
|
||||
bblayers_conf: path to bblayers.conf file to edit
|
||||
@@ -1298,6 +1298,8 @@ def edit_bblayers_conf(bblayers_conf, add, remove):
|
||||
list to add nothing
|
||||
remove: layer path (or list of layer paths) to remove; None or
|
||||
empty list to remove nothing
|
||||
edit_cb: optional callback function that will be called after
|
||||
processing adds/removes once per existing entry.
|
||||
Returns a tuple:
|
||||
notadded: list of layers specified to be added but weren't
|
||||
(because they were already in the list)
|
||||
@@ -1361,6 +1363,17 @@ def edit_bblayers_conf(bblayers_conf, add, remove):
|
||||
bblayers.append(addlayer)
|
||||
del addlayers[:]
|
||||
|
||||
if edit_cb:
|
||||
newlist = []
|
||||
for layer in bblayers:
|
||||
res = edit_cb(layer, canonicalise_path(layer))
|
||||
if res != layer:
|
||||
newlist.append(res)
|
||||
updated = True
|
||||
else:
|
||||
newlist.append(layer)
|
||||
bblayers = newlist
|
||||
|
||||
if updated:
|
||||
if op == '+=' and not bblayers:
|
||||
bblayers = None
|
||||
|
||||
Reference in New Issue
Block a user