diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-09-20 16:43:33 +1200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-11-10 14:44:31 +0000 |
commit | c2b3154158d4bb0855daa56477393341139d4cf9 (patch) | |
tree | bccd4d1e3e7c005323bba55b9b26d7abec90e323 | |
parent | 949067384c5166058ebc76f931cc492dad1db645 (diff) | |
download | openembedded-core-c2b3154158d4bb0855daa56477393341139d4cf9.tar.gz openembedded-core-c2b3154158d4bb0855daa56477393341139d4cf9.tar.bz2 openembedded-core-c2b3154158d4bb0855daa56477393341139d4cf9.zip |
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
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r-- | scripts/lib/recipetool/create.py | 6 | ||||
-rw-r--r-- | 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 1532735ab8..055bdef436 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 7cf188db21..4569b53c80 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 |