summaryrefslogtreecommitdiffstats
path: root/scripts/lib/devtool/standard.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/devtool/standard.py')
-rw-r--r--scripts/lib/devtool/standard.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 34de7bd623..e4d2a57ab6 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -674,6 +674,29 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d):
674 674
675 shutil.move(srcsubdir, srctree) 675 shutil.move(srcsubdir, srctree)
676 676
677 if os.path.abspath(d.getVar('S', True)) == os.path.abspath(d.getVar('WORKDIR', True)):
678 # If recipe extracts to ${WORKDIR}, symlink the files into the srctree
679 # (otherwise the recipe won't build as expected)
680 local_files_dir = os.path.join(srctree, 'oe-local-files')
681 addfiles = []
682 for root, _, files in os.walk(local_files_dir):
683 relpth = os.path.relpath(root, local_files_dir)
684 if relpth != '.':
685 bb.utils.mkdirhier(os.path.join(srctree, relpth))
686 for fn in files:
687 if fn == '.gitignore':
688 continue
689 destpth = os.path.join(srctree, relpth, fn)
690 if os.path.exists(destpth):
691 os.unlink(destpth)
692 os.symlink('oe-local-files/%s' % fn, destpth)
693 addfiles.append(os.path.join(relpth, fn))
694 if addfiles:
695 bb.process.run('git add %s' % ' '.join(addfiles), cwd=srctree)
696 useroptions = []
697 oe.patch.GitApplyTree.gitCommandUserOptions(useroptions, d=d)
698 bb.process.run('git %s commit -a -m "Committing local file symlinks\n\n%s"' % (' '.join(useroptions), oe.patch.GitApplyTree.ignore_commit_prefix), cwd=srctree)
699
677 if kconfig: 700 if kconfig:
678 logger.info('Copying kernel config to srctree') 701 logger.info('Copying kernel config to srctree')
679 shutil.copy2(kconfig, srctree) 702 shutil.copy2(kconfig, srctree)