From: Markus Lehtonen Date: Tue, 8 Sep 2015 10:58:14 +0000 (+0300) Subject: kernel.bbclass: do not mv/link sources when externalsrc enabled X-Git-Tag: 2015-10~509 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=8f6c564661a3801012eb2d9a98cdc99c91712367;p=openembedded-core.git 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 Signed-off-by: Richard Purdie --- 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