diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/lib/checklayer/__init__.py | 14 | ||||
-rwxr-xr-x | scripts/yocto-check-layer | 9 |
2 files changed, 22 insertions, 1 deletions
diff --git a/scripts/lib/checklayer/__init__.py b/scripts/lib/checklayer/__init__.py index f625d59896..fe545607bb 100644 --- a/scripts/lib/checklayer/__init__.py +++ b/scripts/lib/checklayer/__init__.py | |||
@@ -229,6 +229,20 @@ def add_layers(bblayersconf, layers, logger): | |||
229 | f.write("\nBBLAYERS += \"%s\"\n" % path) | 229 | f.write("\nBBLAYERS += \"%s\"\n" % path) |
230 | return True | 230 | return True |
231 | 231 | ||
232 | def check_bblayers(bblayersconf, layer_path, logger): | ||
233 | ''' | ||
234 | If layer_path found in BBLAYERS return True | ||
235 | ''' | ||
236 | import bb.parse | ||
237 | import bb.data | ||
238 | |||
239 | ldata = bb.parse.handle(bblayersconf, bb.data.init(), include=True) | ||
240 | for bblayer in (ldata.getVar('BBLAYERS') or '').split(): | ||
241 | if os.path.normpath(bblayer) == os.path.normpath(layer_path): | ||
242 | return True | ||
243 | |||
244 | return False | ||
245 | |||
232 | def check_command(error_msg, cmd, cwd=None): | 246 | def check_command(error_msg, cmd, cwd=None): |
233 | ''' | 247 | ''' |
234 | Run a command under a shell, capture stdout and stderr in a single stream, | 248 | Run a command under a shell, capture stdout and stderr in a single stream, |
diff --git a/scripts/yocto-check-layer b/scripts/yocto-check-layer index ca6c79bc8d..b7c83c8b54 100755 --- a/scripts/yocto-check-layer +++ b/scripts/yocto-check-layer | |||
@@ -24,7 +24,7 @@ import scriptpath | |||
24 | scriptpath.add_oe_lib_path() | 24 | scriptpath.add_oe_lib_path() |
25 | scriptpath.add_bitbake_lib_path() | 25 | scriptpath.add_bitbake_lib_path() |
26 | 26 | ||
27 | from checklayer import LayerType, detect_layers, add_layers, add_layer_dependencies, get_signatures | 27 | from checklayer import LayerType, detect_layers, add_layers, add_layer_dependencies, get_signatures, check_bblayers |
28 | from oeqa.utils.commands import get_bb_vars | 28 | from oeqa.utils.commands import get_bb_vars |
29 | 29 | ||
30 | PROGNAME = 'yocto-check-layer' | 30 | PROGNAME = 'yocto-check-layer' |
@@ -138,6 +138,13 @@ def main(): | |||
138 | layer['type'] == LayerType.ERROR_BSP_DISTRO: | 138 | layer['type'] == LayerType.ERROR_BSP_DISTRO: |
139 | continue | 139 | continue |
140 | 140 | ||
141 | if check_bblayers(bblayersconf, layer['path'], logger): | ||
142 | logger.info("%s already in %s. To capture initial signatures, layer under test should not present " | ||
143 | "in BBLAYERS. Please remove %s from BBLAYERS." % (layer['name'], bblayersconf, layer['name'])) | ||
144 | results[layer['name']] = None | ||
145 | results_status[layer['name']] = 'SKIPPED (Layer under test should not present in BBLAYERS)' | ||
146 | continue | ||
147 | |||
141 | logger.info('') | 148 | logger.info('') |
142 | logger.info("Setting up for %s(%s), %s" % (layer['name'], layer['type'], | 149 | logger.info("Setting up for %s(%s), %s" % (layer['name'], layer['type'], |
143 | layer['path'])) | 150 | layer['path'])) |