diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-06-27 15:13:45 +0100 |
---|---|---|
committer | Steve Sakoman <steve@sakoman.com> | 2024-07-26 07:43:46 -0700 |
commit | 7b4cc330228d1853a74e85fb415f9a06b8183927 (patch) | |
tree | 9345f55fe47f72f7ec57fd34d0ba9e3c77d3d372 /bitbake/lib/bb/data.py | |
parent | 688146cd1893d81dc6deed56a05250c52e6432bb (diff) | |
download | poky-7b4cc330228d1853a74e85fb415f9a06b8183927.tar.gz |
bitbake: codeparser/data: Ensure module function contents changing is accounted for
Currently, if a pylib function changes contents, the taskhash remains
unchanged since we assume the functions have stable output. This is
probably a poor assumption so take the code of the function into account
in the taskhashes. This avoids certain frustrating build failures we've
been seeing in automated testing.
To make this work we have to add an extra entry to the python code parsing
cache so that we can store the hashed function contents for efficiency as
in the python module case, that isn't used as the key to the cache.
The cache version changes since we're adding data to the cache.
(Bitbake rev: 4bf332ccac283ca3440e81d8c781fcc23fe10b98)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b2c3438ebe62793ebabe2c282534893908d520b4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'bitbake/lib/bb/data.py')
-rw-r--r-- | bitbake/lib/bb/data.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py index 505f42950f..f672a84451 100644 --- a/bitbake/lib/bb/data.py +++ b/bitbake/lib/bb/data.py | |||
@@ -293,7 +293,7 @@ def build_dependencies(key, keys, mod_funcs, shelldeps, varflagsexcl, ignored_va | |||
293 | if key in mod_funcs: | 293 | if key in mod_funcs: |
294 | exclusions = set() | 294 | exclusions = set() |
295 | moddep = bb.codeparser.modulecode_deps[key] | 295 | moddep = bb.codeparser.modulecode_deps[key] |
296 | value = handle_contains("", moddep[3], exclusions, d) | 296 | value = handle_contains(moddep[4], moddep[3], exclusions, d) |
297 | return frozenset((moddep[0] | keys & moddep[1]) - ignored_vars), value | 297 | return frozenset((moddep[0] | keys & moddep[1]) - ignored_vars), value |
298 | 298 | ||
299 | if key[-1] == ']': | 299 | if key[-1] == ']': |