summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/devtool-source.bbclass6
-rw-r--r--meta/classes/kernel-yocto.bbclass4
-rw-r--r--meta/lib/oe/recipeutils.py9
3 files changed, 14 insertions, 5 deletions
diff --git a/meta/classes/devtool-source.bbclass b/meta/classes/devtool-source.bbclass
index 1372e32c9e..a8110006fb 100644
--- a/meta/classes/devtool-source.bbclass
+++ b/meta/classes/devtool-source.bbclass
@@ -103,8 +103,10 @@ python devtool_post_unpack() {
103 for l in sccfile: 103 for l in sccfile:
104 line = l.split() 104 line = l.split()
105 if line and line[0] in ('kconf', 'patch'): 105 if line and line[0] in ('kconf', 'patch'):
106 local_files[line[-1]] = os.path.join(os.path.dirname(local_files[key]), line[-1]) 106 cfg = os.path.join(os.path.dirname(local_files[key]), line[-1])
107 shutil.copy2(os.path.join(os.path.dirname(local_files[key]), line[-1]), workdir) 107 if not cfg in local_files.values():
108 local_files[line[-1]] = cfg
109 shutil.copy2(cfg, workdir)
108 sccfile.close() 110 sccfile.close()
109 111
110 # Ignore local files with subdir={BP} 112 # Ignore local files with subdir={BP}
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 496c8a7f68..2f556ca03b 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -138,10 +138,10 @@ do_kernel_metadata() {
138 for f in ${feat_dirs}; do 138 for f in ${feat_dirs}; do
139 if [ -d "${WORKDIR}/$f/meta" ]; then 139 if [ -d "${WORKDIR}/$f/meta" ]; then
140 includes="$includes -I${WORKDIR}/$f/kernel-meta" 140 includes="$includes -I${WORKDIR}/$f/kernel-meta"
141 elif [ -d "${WORKDIR}/$f" ]; then
142 includes="$includes -I${WORKDIR}/$f"
143 elif [ -d "${WORKDIR}/../oe-local-files/$f" ]; then 141 elif [ -d "${WORKDIR}/../oe-local-files/$f" ]; then
144 includes="$includes -I${WORKDIR}/../oe-local-files/$f" 142 includes="$includes -I${WORKDIR}/../oe-local-files/$f"
143 elif [ -d "${WORKDIR}/$f" ]; then
144 includes="$includes -I${WORKDIR}/$f"
145 fi 145 fi
146 done 146 done
147 for s in ${sccs} ${patches}; do 147 for s in ${sccs} ${patches}; do
diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py
index 8f70d2eb21..4ca200d834 100644
--- a/meta/lib/oe/recipeutils.py
+++ b/meta/lib/oe/recipeutils.py
@@ -482,7 +482,14 @@ def get_recipe_local_files(d, patches=False, archives=False):
482 unpack = fetch.ud[uri].parm.get('unpack', True) 482 unpack = fetch.ud[uri].parm.get('unpack', True)
483 if unpack: 483 if unpack:
484 continue 484 continue
485 ret[fname] = localpath 485 if os.path.isdir(localpath):
486 for root, dirs, files in os.walk(localpath):
487 for fname in files:
488 fileabspath = os.path.join(root,fname)
489 srcdir = os.path.dirname(localpath)
490 ret[os.path.relpath(fileabspath,srcdir)] = fileabspath
491 else:
492 ret[fname] = localpath
486 return ret 493 return ret
487 494
488 495