summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-21 19:28:42 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-22 11:35:22 +0000
commitc0a2268ae8159c4a06691a55ffc4ea01a7bd14ad (patch)
tree3cb20e1b1f419369e69af2de23ae210dfaf4aaa9
parent19090446da4184ef5cdd442c5c640593e1bc46e1 (diff)
downloadpoky-c0a2268ae8159c4a06691a55ffc4ea01a7bd14ad.tar.gz
externalsrc: Use git add -A for compatibility with all git versions
I've been debugging a selftest failure on Centos7. The problem turns out to be the elderly git version (1.8.3.1) on those systems. It means that the system doesn't correctly checksum changed files in the source tree, which in turn means do_compile fails to run and this leads to the following selftest failure: ====================================================================== FAIL [141.373s]: test_devtool_buildclean (oeqa.selftest.devtool.DevtoolTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/devtool.py", line 530, in test_devtool_buildclean assertFile(tempdir_mdadm, 'mdadm') File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/devtool.py", line 497, in assertFile self.assertTrue(os.path.exists(f), "%r does not exist" % f) AssertionError: False is not true : '/tmp/devtoolqag88s39z8/mdadm' does not exist The solution is to use -A on the git add commandline which matches the behaviour in git 2.0+ versions and resolves the problem. (From OE-Core rev: 964e8b8cae4b28e21ade12b5effb494e459b1f0f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/externalsrc.bbclass2
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 39789ea30f..d64af6a9c9 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -190,7 +190,7 @@ def srctree_hash_files(d, srcdir=None):
190 # Update our custom index 190 # Update our custom index
191 env = os.environ.copy() 191 env = os.environ.copy()
192 env['GIT_INDEX_FILE'] = tmp_index.name 192 env['GIT_INDEX_FILE'] = tmp_index.name
193 subprocess.check_output(['git', 'add', '.'], cwd=s_dir, env=env) 193 subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env)
194 sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8") 194 sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
195 with open(oe_hash_file, 'w') as fobj: 195 with open(oe_hash_file, 'w') as fobj:
196 fobj.write(sha1) 196 fobj.write(sha1)