diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2015-09-08 13:58:14 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-09 14:25:02 +0100 |
commit | 8f6c564661a3801012eb2d9a98cdc99c91712367 (patch) | |
tree | 79f6c97d4a21e086c654fddd43ae2c4865008329 /meta/classes | |
parent | 8939ea428f642fd6fa48807ded1f9040f09ed375 (diff) | |
download | openembedded-core-8f6c564661a3801012eb2d9a98cdc99c91712367.tar.gz openembedded-core-8f6c564661a3801012eb2d9a98cdc99c91712367.tar.bz2 openembedded-core-8f6c564661a3801012eb2d9a98cdc99c91712367.zip |
kernel.bbclass: do not mv/link sources when externalsrc enabled
If externalsrc is enabled the 'do_unpack' task is run if the recipe has
some local source files. In the case of kernel recipe this caused the
(externalsrc) source tree to be moved/symlinked. This patch prevents the
behaviour, making sure the source tree is not moved around when
externalsrc is enabled. Instead of moving the source tree,
STAGING_KERNEL_DIR will be a symlink to it.
[YOCTO #6658]
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/kernel.bbclass | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 919293e43d..dfbdfd24ff 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -68,9 +68,13 @@ base_do_unpack_append () { if s != kernsrc: bb.utils.mkdirhier(kernsrc) bb.utils.remove(kernsrc, recurse=True) - import subprocess - subprocess.call(d.expand("mv ${S} ${STAGING_KERNEL_DIR}"), shell=True) - os.symlink(kernsrc, s) + if d.getVar("EXTERNALSRC", True): + # With EXTERNALSRC S will not be wiped so we can symlink to it + os.symlink(s, kernsrc) + else: + import shutil + shutil.move(s, kernsrc) + os.symlink(kernsrc, s) } inherit kernel-arch deploy |