aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/lib/compatlayer/__init__.py17
-rwxr-xr-xscripts/yocto-compat-layer.py4
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