[gnome-continuous-yocto/gnomeostree-3.28-rocko: 8204/8267] recipetool: ignore incidental kernel module source



commit e36cf9e62190a4bdd7aa7aceff78446938f1540f
Author: Paul Eggleton <paul eggleton linux intel com>
Date:   Wed Sep 20 16:43:33 2017 +1200

    recipetool: ignore incidental kernel module source
    
    If the source tree happens to contain a kernel module as an example, a
    test or under a "contrib" directory then we shouldn't be picking it up
    and making the determination that the entire thing is a kernel module.
    
    An example that triggered this is zstd, which ships a kernel module
    under contrib/linux-kernel:
    
      https://github.com/facebook/zstd
    
    (From OE-Core rev: 5c89bd0db1b327483f674802740ff21b909e0876)
    
    Signed-off-by: Paul Eggleton <paul eggleton linux intel com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Armin Kuster <akuster mvista com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 scripts/lib/recipetool/create.py      |    6 ++++--
 scripts/lib/recipetool/create_kmod.py |    2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index 1532735..055bdef 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -156,10 +156,12 @@ class RecipeHandler(object):
                         RecipeHandler.recipebinmap[prog] = pn
 
     @staticmethod
-    def checkfiles(path, speclist, recursive=False):
+    def checkfiles(path, speclist, recursive=False, excludedirs=None):
         results = []
         if recursive:
-            for root, _, files in os.walk(path):
+            for root, dirs, files in os.walk(path, topdown=True):
+                if excludedirs:
+                    dirs[:] = [d for d in dirs if d not in excludedirs]
                 for fn in files:
                     for spec in speclist:
                         if fnmatch.fnmatch(fn, spec):
diff --git a/scripts/lib/recipetool/create_kmod.py b/scripts/lib/recipetool/create_kmod.py
index 7cf188d..4569b53 100644
--- a/scripts/lib/recipetool/create_kmod.py
+++ b/scripts/lib/recipetool/create_kmod.py
@@ -40,7 +40,7 @@ class KernelModuleRecipeHandler(RecipeHandler):
 
         makefiles = []
 
-        files = RecipeHandler.checkfiles(srctree, ['*.c', '*.h'], recursive=True)
+        files = RecipeHandler.checkfiles(srctree, ['*.c', '*.h'], recursive=True, excludedirs=['contrib', 
'test', 'examples'])
         if files:
             for cfile in files:
                 # Look in same dir or parent for Makefile


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