diff options
Diffstat (limited to 'scripts/yocto-compat-layer.py')
| -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 |
