]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel.bbclass: do not mv/link sources when externalsrc enabled
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Tue, 8 Sep 2015 10:58:14 +0000 (13:58 +0300)
committerJoshua Lock <joshua.g.lock@intel.com>
Tue, 16 Feb 2016 14:02:48 +0000 (14:02 +0000)
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]

(From OE-Core master rev: 8f6c564661a3801012eb2d9a98cdc99c91712367)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
meta/classes/kernel.bbclass

index 74092e96aac56a88f09c506585a53f2db878a4ea..83a50cbed6cbd30c9c78914815de9cf975dffb3a 100644 (file)
@@ -51,9 +51,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