aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2017-11-27 14:48:54 +1300
committerPaul Eggleton <paul.eggleton@linux.intel.com>2017-12-05 14:39:23 +1300
commita8eaa169c4dff9c6751c107b6ee88fd2267b165c (patch)
treefa10cb5a69617fa93591359872e535f92f27430a
parent2b35c6f4e37ece0d6a7d46ed0195b88d83c162b5 (diff)
downloadopenembedded-core-contrib-a8eaa169c4dff9c6751c107b6ee88fd2267b165c.tar.gz
devtool: extract: fix usage with kern-tools-native
The kern-tools-native recipe as it currently stands is unusual in that it fetches source from a repository but sets S = "${WORKDIR}" which causes some problems. First you get a failure because we're calling "git commit" unconditionally even if there are no local files, and there aren't any in this case which means the commit fails. After that's fixed, we hit another problem where "recipe-sysroot-native" subdirectory appears in the extracted source tree. We don't want that so exclude it from copying. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-rw-r--r--meta/classes/devtool-source.bbclass6
-rw-r--r--scripts/lib/devtool/standard.py6
2 files changed, 9 insertions, 3 deletions
diff --git a/meta/classes/devtool-source.bbclass b/meta/classes/devtool-source.bbclass
index 56882a41d8..540a60289a 100644
--- a/meta/classes/devtool-source.bbclass
+++ b/meta/classes/devtool-source.bbclass
@@ -118,7 +118,13 @@ python devtool_post_unpack() {
os.path.basename(fname) not in recipe_patches]
srcsubdir = d.getVar('DEVTOOL_PATCH_SRCDIR')
# Move source files to S
+ excludevars = ['RECIPE_SYSROOT', 'RECIPE_SYSROOT_NATIVE']
+ excludepaths = []
+ for excludevar in excludevars:
+ excludepaths.append(os.path.relpath(d.getVar(excludevar), workdir) + os.sep)
for path in src_files:
+ if path.startswith(tuple(excludepaths)):
+ continue
_move_file(os.path.join(workdir, path),
os.path.join(srcsubdir, path))
elif os.path.dirname(srcsubdir) != workdir:
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index cdd2346cb6..a6656e4e67 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -634,9 +634,9 @@ def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, works
addfiles.append(os.path.join(relpth, fn))
if addfiles:
bb.process.run('git add %s' % ' '.join(addfiles), cwd=srctree)
- useroptions = []
- oe.patch.GitApplyTree.gitCommandUserOptions(useroptions, d=d)
- 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)
+ useroptions = []
+ oe.patch.GitApplyTree.gitCommandUserOptions(useroptions, d=d)
+ 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)
if is_kernel_yocto:
logger.info('Copying kernel config to srctree')