summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/data.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/data.py')
-rw-r--r--bitbake/lib/bb/data.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py
index 3a6af325f4..430d444203 100644
--- a/bitbake/lib/bb/data.py
+++ b/bitbake/lib/bb/data.py
@@ -276,7 +276,8 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, ignored_vars, d):
276 value, parser = d.getVarFlag(vf[0], vf[1], False, retparser=True) 276 value, parser = d.getVarFlag(vf[0], vf[1], False, retparser=True)
277 deps |= parser.references 277 deps |= parser.references
278 deps = deps | (keys & parser.execs) 278 deps = deps | (keys & parser.execs)
279 return deps, value 279 deps -= ignored_vars
280 return frozenset(deps), value
280 varflags = d.getVarFlags(key, ["vardeps", "vardepvalue", "vardepsexclude", "exports", "postfuncs", "prefuncs", "lineno", "filename"]) or {} 281 varflags = d.getVarFlags(key, ["vardeps", "vardepvalue", "vardepsexclude", "exports", "postfuncs", "prefuncs", "lineno", "filename"]) or {}
281 vardeps = varflags.get("vardeps") 282 vardeps = varflags.get("vardeps")
282 exclusions = varflags.get("vardepsexclude", "").split() 283 exclusions = varflags.get("vardepsexclude", "").split()
@@ -359,12 +360,13 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, ignored_vars, d):
359 360
360 deps |= set((vardeps or "").split()) 361 deps |= set((vardeps or "").split())
361 deps -= set(exclusions) 362 deps -= set(exclusions)
363 deps -= ignored_vars
362 except bb.parse.SkipRecipe: 364 except bb.parse.SkipRecipe:
363 raise 365 raise
364 except Exception as e: 366 except Exception as e:
365 bb.warn("Exception during build_dependencies for %s" % key) 367 bb.warn("Exception during build_dependencies for %s" % key)
366 raise 368 raise
367 return deps, value 369 return frozenset(deps), value
368 #bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs))) 370 #bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs)))
369 #d.setVarFlag(key, "vardeps", deps) 371 #d.setVarFlag(key, "vardeps", deps)
370 372
@@ -383,7 +385,7 @@ def generate_dependencies(d, ignored_vars):
383 newdeps = deps[task] 385 newdeps = deps[task]
384 seen = set() 386 seen = set()
385 while newdeps: 387 while newdeps:
386 nextdeps = newdeps - ignored_vars 388 nextdeps = newdeps
387 seen |= nextdeps 389 seen |= nextdeps
388 newdeps = set() 390 newdeps = set()
389 for dep in nextdeps: 391 for dep in nextdeps:
@@ -407,7 +409,6 @@ def generate_dependency_hash(tasklist, gendeps, lookupcache, ignored_vars, fn):
407 else: 409 else:
408 data = [data] 410 data = [data]
409 411
410 gendeps[task] -= ignored_vars
411 newdeps = gendeps[task] 412 newdeps = gendeps[task]
412 seen = set() 413 seen = set()
413 while newdeps: 414 while newdeps:
@@ -415,9 +416,6 @@ def generate_dependency_hash(tasklist, gendeps, lookupcache, ignored_vars, fn):
415 seen |= nextdeps 416 seen |= nextdeps
416 newdeps = set() 417 newdeps = set()
417 for dep in nextdeps: 418 for dep in nextdeps:
418 if dep in ignored_vars:
419 continue
420 gendeps[dep] -= ignored_vars
421 newdeps |= gendeps[dep] 419 newdeps |= gendeps[dep]
422 newdeps -= seen 420 newdeps -= seen
423 421
@@ -429,7 +427,7 @@ def generate_dependency_hash(tasklist, gendeps, lookupcache, ignored_vars, fn):
429 data.append(str(var)) 427 data.append(str(var))
430 k = fn + ":" + task 428 k = fn + ":" + task
431 basehash[k] = hashlib.sha256("".join(data).encode("utf-8")).hexdigest() 429 basehash[k] = hashlib.sha256("".join(data).encode("utf-8")).hexdigest()
432 taskdeps[task] = alldeps 430 taskdeps[task] = frozenset(seen)
433 431
434 return taskdeps, basehash 432 return taskdeps, basehash
435 433