@@ -1414,7 +1414,7 @@ def edit_metadata_file(meta_file, variables, varfunc):
return updated
-def edit_bblayers_conf(bblayers_conf, add, remove, edit_cb=None):
+def edit_bblayers_conf(bblayers_conf, add, remove, edit_cb=None, prepend=None):
"""Edit bblayers.conf, adding and/or removing layers
Parameters:
bblayers_conf: path to bblayers.conf file to edit
@@ -1424,6 +1424,7 @@ def edit_bblayers_conf(bblayers_conf, add, remove, edit_cb=None):
empty list to remove nothing
edit_cb: optional callback function that will be called after
processing adds/removes once per existing entry.
+ prepend: optional support add-layer to prepend
Returns a tuple:
notadded: list of layers specified to be added but weren't
(because they were already in the list)
@@ -1484,7 +1485,10 @@ def edit_bblayers_conf(bblayers_conf, add, remove, edit_cb=None):
for addlayer in addlayers:
if addlayer not in bblayers:
updated = True
- bblayers.append(addlayer)
+ if prepend:
+ bblayers.insert(0,addlayer)
+ else:
+ bblayers.append(addlayer)
del addlayers[:]
if edit_cb:
@@ -49,7 +49,7 @@ class ActionPlugin(LayerPlugin):
shutil.copy2(bblayers_conf, backup)
try:
- notadded, _ = bb.utils.edit_bblayers_conf(bblayers_conf, layerdirs, None)
+ notadded, _ = bb.utils.edit_bblayers_conf(bblayers_conf, layerdirs, None, None, args.prepend)
if not (args.force or notadded):
self.tinfoil.modified_files()
try:
@@ -269,6 +269,7 @@ build results (as the layer priority order has effectively changed).
def register_commands(self, sp):
parser_add_layer = self.add_command(sp, 'add-layer', self.do_add_layer, parserecipes=False)
parser_add_layer.add_argument('layerdir', nargs='+', help='Layer directory/directories to add')
+ parser_add_layer.add_argument('--prepend', action='store_true', help='Prepend layer directory/directories')
parser_remove_layer = self.add_command(sp, 'remove-layer', self.do_remove_layer, parserecipes=False)
parser_remove_layer.add_argument('layerdir', nargs='+', help='Layer directory/directories to remove (wildcards allowed, enclose in quotes to avoid shell expansion)')