summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2017-03-30 21:30:27 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-04-05 23:22:13 +0100
commitefd07494c595fb67a3e3febfec9d7d638f9a41c8 (patch)
treecfed272e079239b525608e42dd1c9e5d8d4bdaef /scripts
parent2a04cb8d22c92156ab97ac10f81bd065a733a2a4 (diff)
downloadpoky-efd07494c595fb67a3e3febfec9d7d638f9a41c8.tar.gz
yocto-compat-layer.py: Add --dependency argument
When processing a large number of items, there are times that it would be nice to be able to pass in a series of layers that can be used as dependencies for the layer that is being scanned. This avoids the significant overhead of processing all of the layers to compatibility. (From OE-Core rev: 57fc8a9771174b7d0533a42c045053adefa537a8) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/yocto-compat-layer.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/scripts/yocto-compat-layer.py b/scripts/yocto-compat-layer.py
index d13d8c039f..f8a1ac7468 100755
--- a/scripts/yocto-compat-layer.py
+++ b/scripts/yocto-compat-layer.py
@@ -47,6 +47,8 @@ def main():
47 help='Layer to test compatibility with Yocto Project') 47 help='Layer to test compatibility with Yocto Project')
48 parser.add_argument('-o', '--output-log', 48 parser.add_argument('-o', '--output-log',
49 help='File to output log (optional)', action='store') 49 help='File to output log (optional)', action='store')
50 parser.add_argument('--dependency', nargs="+",
51 help='Layers to process for dependencies', action='store')
50 parser.add_argument('-n', '--no-auto', help='Disable auto layer discovery', 52 parser.add_argument('-n', '--no-auto', help='Disable auto layer discovery',
51 action='store_true') 53 action='store_true')
52 parser.add_argument('-d', '--debug', help='Enable debug output', 54 parser.add_argument('-d', '--debug', help='Enable debug output',
@@ -80,6 +82,11 @@ def main():
80 if not layers: 82 if not layers:
81 logger.error("Fail to detect layers") 83 logger.error("Fail to detect layers")
82 return 1 84 return 1
85 if args.dependency:
86 dep_layers = detect_layers(args.dependency, args.no_auto)
87 dep_layers = dep_layers + layers
88 else:
89 dep_layers = layers
83 90
84 logger.info("Detected layers:") 91 logger.info("Detected layers:")
85 for layer in layers: 92 for layer in layers:
@@ -125,7 +132,8 @@ def main():
125 132
126 shutil.copyfile(bblayersconf + '.backup', bblayersconf) 133 shutil.copyfile(bblayersconf + '.backup', bblayersconf)
127 134
128 if not add_layer(bblayersconf, layer, layers, logger): 135 if not add_layer(bblayersconf, layer, dep_layers, logger):
136 logger.info('Skipping %s due to missing dependencies.' % layer['name'])
129 results[layer['name']] = None 137 results[layer['name']] = None
130 results_status[layer['name']] = 'SKIPPED (Missing dependencies)' 138 results_status[layer['name']] = 'SKIPPED (Missing dependencies)'
131 layers_tested = layers_tested + 1 139 layers_tested = layers_tested + 1