diff options
| -rw-r--r-- | meta/classes/devtool-source.bbclass | 6 | ||||
| -rw-r--r-- | meta/classes/kernel-yocto.bbclass | 4 | ||||
| -rw-r--r-- | meta/lib/oe/recipeutils.py | 9 |
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 | ||
