If kernel source is not already downloaded i.e staging kernel dir is
empty, place a copy of the source when the user runs devtool modify linux-yocto.
This way the kernel source is available for other packages that use it.

[YOCTO #10416]

Signed-off-by: Sai Hari Chandana Kalluri <chandana.kall...@xilinx.com>
Signed-off-by: Alejandro Enedino Hernandez Samaniego <aleja...@xilinx.com>
---
 scripts/lib/devtool/standard.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 3a8222a..06a0619 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -567,7 +567,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, 
config, basepath, works
         with open(preservestampfile, 'w') as f:
             f.write(d.getVar('STAMP'))
         try:
-            if bb.data.inherits_class('kernel-yocto', d):
+            if is_kernel_yocto:
                 # We need to generate the kernel config
                 task = 'do_configure'
             else:
@@ -594,6 +594,14 @@ def _extract_source(srctree, keep_temp, devbranch, sync, 
config, basepath, works
             raise DevtoolError('Something went wrong with source extraction - 
the devtool-source class was not active or did not function correctly:\n%s' % 
str(e))
         srcsubdir_rel = os.path.relpath(srcsubdir, os.path.join(tempdir, 
'workdir'))
 
+        # Check if work-shared is empty, if yes 
+        # find source and copy to work-shared
+        if is_kernel_yocto:
+              workshareddir = d.getVar('STAGING_KERNEL_DIR')
+              if os.path.exists(workshareddir) and not 
os.listdir(workshareddir):
+                   os.rmdir(workshareddir)
+                   copy_src_to_ws(srcsubdir,workshareddir)
+
         tempdir_localdir = os.path.join(tempdir, 'oe-local-files')
         srctree_localdir = os.path.join(srctree, 'oe-local-files')
 
-- 
2.7.4

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to