Skip to contentSkip to conversation

copy_buildsystem: add ability to exclude layers

PATCH New Chen Qi 1 participant 2 messages Feb 3, 2016

lore
Share & tools
lore

Chen Qi

author
#0 lore raw

cover copy_buildsystem: add ability to exclude layers

The following changes since commit 2218490b075b077683f17b643ab211c7716d0dfc:

documentation.conf: align the documentation for DEBUG_OPTIMIZATION and FULL_OPTIMIZATION with bitbake.conf (2016-02-02 17:48:00 +0000)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib ChenQi/sdk-exclude-layers
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/sdk-exclude-layers

Chen Qi (1):
copy_buildsystem: add ability to exclude layers

 meta/lib/oe/copy_buildsystem.py | 6 ++++++
 1 file changed, 6 insertions(+)
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH 1/1 copy_buildsystem: add ability to 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]

---
 meta/lib/oe/copy_buildsystem.py | 6 ++++++
 1 file changed, 6 insertions(+)
meta/lib/oe/copy_buildsystem.py +6 -0
index fb51b51..abee5d9 100644
@@ -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
Signature · 1 line
1.9.1