aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2016-02-03 15:32:55 +0800
committerChen Qi <Qi.Chen@windriver.com>2016-02-03 15:44:17 +0800
commite8ffa30199c723eb1fcbb4126c2ac5441e9da1bc (patch)
treeac0fe1c0b86b16deec743b1668692d391299cd94
parent2218490b075b077683f17b643ab211c7716d0dfc (diff)
downloadopenembedded-core-contrib-ChenQi/sdk-exclude-layers.tar.gz
copy_buildsystem: add ability to exclude layersChenQi/sdk-exclude-layers
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>
-rw-r--r--meta/lib/oe/copy_buildsystem.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py
index fb51b5183d..abee5d9a77 100644
--- a/meta/lib/oe/copy_buildsystem.py
+++ b/meta/lib/oe/copy_buildsystem.py
@@ -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