From: Mark Hatle Date: Tue, 24 Jul 2018 02:29:10 +0000 (-0400) Subject: bitbake: bblayers/layerindex.py: Fix addition of layers X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0dea95093115acc08f6ad19dc931d532a601cbec;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git bitbake: bblayers/layerindex.py: Fix addition of layers When a layer is added it needs to be in a list, otherwise the system will error such as: Specified layer directory / doesn't contain a conf/layer.conf file Additionally, instead of calling the add layer function over and over, it is better to add all of the new content in one command. Otherwise the order is important as the system now checks if the layer can be added. For instance, trying to add meta-python: Layer Required by Git repository Subdirectory =================================================================================================================== meta-python - git://git.openembedded.org/meta-openembedded meta-python meta-oe meta-python git://git.openembedded.org/meta-openembedded meta-oe openembedded-core meta-python git://git.openembedded.org/openembedded-core meta Adding layer "meta-python" (.../oe-core/meta-openembedded/meta-python) to conf/bblayers.conf ERROR: Layer 'meta-python' depends on layer 'openembedded-layer', but this layer is not enabled in your configuration The system would try to add meta-python before the dependent meta-oe. Adding them both at the same time resolves this issue. (Bitbake rev: 8aeaabf13db645f33495e00b82117327e153d70a) Signed-off-by: Mark Hatle Signed-off-by: Richard Purdie --- diff --git a/bitbake/lib/bblayers/layerindex.py b/bitbake/lib/bblayers/layerindex.py index 9af385db598..53c858db163 100644 --- a/bitbake/lib/bblayers/layerindex.py +++ b/bitbake/lib/bblayers/layerindex.py @@ -239,19 +239,22 @@ class LayerIndexPlugin(ActionPlugin): return 1 addlayers.append((subdir, name, layerdir)) if not args.show_only: + localargs = argparse.Namespace() + localargs.layerdir = [] + localargs.force = args.force for subdir, name, layerdir in set(addlayers): if os.path.exists(layerdir): if subdir: - logger.plain("Adding layer \"%s\" to conf/bblayers.conf" % subdir) + logger.plain("Adding layer \"%s\" (%s) to conf/bblayers.conf" % (subdir, layerdir)) else: - logger.plain("Adding layer \"%s\" to conf/bblayers.conf" % name) - localargs = argparse.Namespace() - localargs.layerdir = layerdir - localargs.force = args.force - self.do_add_layer(localargs) + logger.plain("Adding layer \"%s\" (%s) to conf/bblayers.conf" % (name, layerdir)) + localargs.layerdir.append(layerdir) else: break + if localargs.layerdir: + self.do_add_layer(localargs) + def do_layerindex_show_depends(self, args): """Find layer dependencies from layer index. """