summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2015-09-08 13:58:14 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-09 14:25:02 +0100
commit8f6c564661a3801012eb2d9a98cdc99c91712367 (patch)
tree79f6c97d4a21e086c654fddd43ae2c4865008329
parent8939ea428f642fd6fa48807ded1f9040f09ed375 (diff)
downloadopenembedded-core-contrib-8f6c564661a3801012eb2d9a98cdc99c91712367.tar.gz
openembedded-core-contrib-8f6c564661a3801012eb2d9a98cdc99c91712367.tar.bz2
openembedded-core-contrib-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>
-rw-r--r--meta/classes/kernel.bbclass10
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