summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-22 17:23:55 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-23 09:31:42 +0100
commit5a3a7e0f746ad5dd160bc297d8c8b0e770630d89 (patch)
treeb8860bdeabfff7e0ee81b757544935a764d9948d /bitbake
parentd33cc89e538b6cf4ffb4cdef8c51ef8960cb47f4 (diff)
downloadpoky-5a3a7e0f746ad5dd160bc297d8c8b0e770630d89.tar.gz
bitbake: siggen: Fix a subtle bug in hash calculation for shared work tasks
With a shared work task like gcc, the task can be run from a variety of different recipes which may have different virtual extensions in place. Depending on whether gcc-runtime or nativesdk-gcc-runtime's do_preconfigure task is called for example will change the sorting of the task hashes due to the way clean_basename currently works. The correct thing to do here is sort on the base filename first, then any extension when ordering the hashes. This means we do account for things like recipes with both a native and non-native dependency but we also fix the shared work case where we don't care whether it was a virtual version or not. (Bitbake rev: 2e80b5d10a5037ed6f0bc227a1f9b42529c87086) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/siggen.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 933311cccb..548f50dfcf 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -295,7 +295,7 @@ def dump_this_task(outfile, d):
295 295
296def clean_basepath(a): 296def clean_basepath(a):
297 if a.startswith("virtual:"): 297 if a.startswith("virtual:"):
298 b = a.rsplit(":", 1)[0] + ":" + a.rsplit("/", 1)[1] 298 b = a.rsplit("/", 1)[1] + ":" + a.rsplit(":", 1)[0]
299 else: 299 else:
300 b = a.rsplit("/", 1)[1] 300 b = a.rsplit("/", 1)[1]
301 return b 301 return b