diff options
author | Aníbal Limón <anibal.limon@linux.intel.com> | 2017-03-20 17:33:25 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-21 22:43:04 +0000 |
commit | f2f6f0c938226802163698ef14a8a9103da362a0 (patch) | |
tree | 7699838e01424d94faa81018608e6e2d6e12f00e | |
parent | 576c6486f547b1d7422cdd12f688aef74ee632ae (diff) | |
download | openembedded-core-f2f6f0c938226802163698ef14a8a9103da362a0.tar.gz openembedded-core-f2f6f0c938226802163698ef14a8a9103da362a0.tar.bz2 openembedded-core-f2f6f0c938226802163698ef14a8a9103da362a0.zip |
scripts/yocto-compat-layer.py: Add option to disable layer autodiscovery
Sometimes there is a need to only analyze the layer specified by the
command line, the new option -n will disable autodiscovery of layers
and only will try to test specified layers.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r-- | scripts/lib/compatlayer/__init__.py | 17 | ||||
-rwxr-xr-x | scripts/yocto-compat-layer.py | 4 |
2 files changed, 15 insertions, 6 deletions
diff --git a/scripts/lib/compatlayer/__init__.py b/scripts/lib/compatlayer/__init__.py index 15dc95da1f..b8ce771319 100644 --- a/scripts/lib/compatlayer/__init__.py +++ b/scripts/lib/compatlayer/__init__.py @@ -108,20 +108,27 @@ def _detect_layer(layer_path): return layer -def detect_layers(layer_directories): +def detect_layers(layer_directories, no_auto): layers = [] for directory in layer_directories: if directory[-1] == '/': directory = directory[0:-1] - for root, dirs, files in os.walk(directory): - dir_name = os.path.basename(root) - conf_dir = os.path.join(root, 'conf') + if no_auto: + conf_dir = os.path.join(directory, 'conf') if os.path.isdir(conf_dir): - layer = _detect_layer(root) + layer = _detect_layer(directory) if layer: layers.append(layer) + else: + for root, dirs, files in os.walk(directory): + dir_name = os.path.basename(root) + conf_dir = os.path.join(root, 'conf') + if os.path.isdir(conf_dir): + layer = _detect_layer(root) + if layer: + layers.append(layer) return layers diff --git a/scripts/yocto-compat-layer.py b/scripts/yocto-compat-layer.py index b96f3ca0bf..b4de84a0a5 100755 --- a/scripts/yocto-compat-layer.py +++ b/scripts/yocto-compat-layer.py @@ -47,6 +47,8 @@ def main(): help='Layer to test compatibility with Yocto Project') parser.add_argument('-o', '--output-log', help='File to output log (optional)', action='store') + parser.add_argument('-n', '--no-auto', help='Disable auto layer discovery', + action='store_true') parser.add_argument('-d', '--debug', help='Enable debug output', action='store_true') parser.add_argument('-q', '--quiet', help='Print only errors', @@ -74,7 +76,7 @@ def main(): builddir = os.environ['BUILDDIR'] bblayersconf = os.path.join(builddir, 'conf', 'bblayers.conf') - layers = detect_layers(args.layers) + layers = detect_layers(args.layers, args.no_auto) if not layers: logger.error("Fail to detect layers") return 1 |