diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2017-03-30 21:30:27 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-05 23:22:13 +0100 |
commit | efd07494c595fb67a3e3febfec9d7d638f9a41c8 (patch) | |
tree | cfed272e079239b525608e42dd1c9e5d8d4bdaef | |
parent | 2a04cb8d22c92156ab97ac10f81bd065a733a2a4 (diff) | |
download | poky-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>
-rwxr-xr-x | scripts/yocto-compat-layer.py | 10 |
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 |