[gnome-continuous-yocto/gnomeostree-3.28-rocko: 5240/8267] scripts/yocto-compat-layer.py: Add option to disable layer autodiscovery



commit 4703aa2b3ba25f463826f9f6eb38b69fa649b572
Author: Aníbal Limón <anibal limon linux intel com>
Date:   Mon Mar 20 17:33:25 2017 -0600

    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.
    
    (From OE-Core rev: f2f6f0c938226802163698ef14a8a9103da362a0)
    
    Signed-off-by: Aníbal Limón <anibal limon linux intel com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 scripts/lib/compatlayer/__init__.py |   17 ++++++++++++-----
 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 15dc95d..b8ce771 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 b96f3ca..b4de84a 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]