mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
devtool/standard.py: Create a copy of kernel source within work-shared if not present
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] (From OE-Core rev: bb42ab90835e8ec2f1dfbb35056c353784693266) Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
015c87d952
commit
3663a5d216
|
@ -491,6 +491,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, works
|
|||
"""Extract sources of a recipe"""
|
||||
import oe.recipeutils
|
||||
import oe.patch
|
||||
import oe.path
|
||||
|
||||
pn = d.getVar('PN')
|
||||
|
||||
|
@ -587,7 +588,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:
|
||||
|
@ -614,6 +615,23 @@ 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')
|
||||
staging_kerVer = get_staging_kver(workshareddir)
|
||||
kernelVersion = d.getVar('LINUX_VERSION')
|
||||
|
||||
# handle dangling symbolic link in work-shared:
|
||||
if os.path.islink(workshareddir):
|
||||
os.unlink(workshareddir)
|
||||
|
||||
if os.path.exists(workshareddir) and (not os.listdir(workshareddir) or kernelVersion != staging_kerVer):
|
||||
shutil.rmtree(workshareddir)
|
||||
oe.path.copyhardlinktree(srcsubdir,workshareddir)
|
||||
elif not os.path.exists(workshareddir):
|
||||
oe.path.copyhardlinktree(srcsubdir,workshareddir)
|
||||
|
||||
tempdir_localdir = os.path.join(tempdir, 'oe-local-files')
|
||||
srctree_localdir = os.path.join(srctree, 'oe-local-files')
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user