]> code.ossystems Code Review - openembedded-core.git/commitdiff
copy_buildsystem: add ability to exclude layers
authorChen Qi <Qi.Chen@windriver.com>
Wed, 3 Feb 2016 07:50:21 +0000 (15:50 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 4 Feb 2016 23:35:04 +0000 (23:35 +0000)
In some cases, we may have some kind of download layers in BBLAYERS, so
that we can set BB_NO_NETWORK to "1". This results in extremely large
extensible SDK. And we actually don't need these download layers in the
SDK.

Add a new variable, SDK_LAYERS_EXCLUDE, to enable users to explicitly
exclude some layers when generating the extensible SDK.

[YOCTO #8878]

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/lib/oe/copy_buildsystem.py

index fb51b5183d4d8f07613b96959962bc0f44113116..abee5d9a77945ae2fab2b773c0e84772fa612116 100644 (file)
@@ -18,6 +18,7 @@ class BuildSystem(object):
         self.d = d
         self.context = context
         self.layerdirs = d.getVar('BBLAYERS', True).split()
+        self.layers_exclude = (d.getVar('SDK_LAYERS_EXCLUDE', True) or "").split()
 
     def copy_bitbake_and_layers(self, destdir):
         # Copy in all metadata layers + bitbake (as repositories)
@@ -28,6 +29,11 @@ class BuildSystem(object):
         corebase = self.d.getVar('COREBASE', True)
         layers.append(corebase)
 
+        # Exclude layers
+        for layer_exclude in self.layers_exclude:
+            if layer_exclude in layers:
+                layers.remove(layer_exclude)
+
         corebase_files = self.d.getVar('COREBASE_FILES', True).split()
         corebase_files = [corebase + '/' +x for x in corebase_files]
         # Make sure bitbake goes in