diff options
Diffstat (limited to 'bitbake/lib/bb/codeparser.py')
| -rw-r--r-- | bitbake/lib/bb/codeparser.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/bitbake/lib/bb/codeparser.py b/bitbake/lib/bb/codeparser.py index 6ed2adeed9..25938d6586 100644 --- a/bitbake/lib/bb/codeparser.py +++ b/bitbake/lib/bb/codeparser.py | |||
| @@ -6,12 +6,16 @@ import pickle | |||
| 6 | import bb.pysh as pysh | 6 | import bb.pysh as pysh |
| 7 | import os.path | 7 | import os.path |
| 8 | import bb.utils, bb.data | 8 | import bb.utils, bb.data |
| 9 | import hashlib | ||
| 9 | from itertools import chain | 10 | from itertools import chain |
| 10 | from bb.pysh import pyshyacc, pyshlex, sherrors | 11 | from bb.pysh import pyshyacc, pyshlex, sherrors |
| 11 | from bb.cache import MultiProcessCache | 12 | from bb.cache import MultiProcessCache |
| 12 | 13 | ||
| 13 | logger = logging.getLogger('BitBake.CodeParser') | 14 | logger = logging.getLogger('BitBake.CodeParser') |
| 14 | 15 | ||
| 16 | def bbhash(s): | ||
| 17 | return hashlib.md5(s.encode("utf-8")).hexdigest() | ||
| 18 | |||
| 15 | def check_indent(codestr): | 19 | def check_indent(codestr): |
| 16 | """If the code is indented, add a top level piece of code to 'remove' the indentation""" | 20 | """If the code is indented, add a top level piece of code to 'remove' the indentation""" |
| 17 | 21 | ||
| @@ -270,7 +274,7 @@ class PythonParser(): | |||
| 270 | if not node or not node.strip(): | 274 | if not node or not node.strip(): |
| 271 | return | 275 | return |
| 272 | 276 | ||
| 273 | h = hash(str(node)) | 277 | h = bbhash(str(node)) |
| 274 | 278 | ||
| 275 | if h in codeparsercache.pythoncache: | 279 | if h in codeparsercache.pythoncache: |
| 276 | self.references = set(codeparsercache.pythoncache[h].refs) | 280 | self.references = set(codeparsercache.pythoncache[h].refs) |
| @@ -315,7 +319,7 @@ class ShellParser(): | |||
| 315 | commands it executes. | 319 | commands it executes. |
| 316 | """ | 320 | """ |
| 317 | 321 | ||
| 318 | h = hash(str(value)) | 322 | h = bbhash(str(value)) |
| 319 | 323 | ||
| 320 | if h in codeparsercache.shellcache: | 324 | if h in codeparsercache.shellcache: |
| 321 | self.execs = set(codeparsercache.shellcache[h].execs) | 325 | self.execs = set(codeparsercache.shellcache[h].execs) |
