diff options
Diffstat (limited to 'bitbake/lib/bb/data.py')
-rw-r--r-- | bitbake/lib/bb/data.py | 14 |
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 | ||