diff options
| -rw-r--r-- | meta/classes/staging.bbclass | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 1b618fbc50..cc7767ae3a 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass | |||
| @@ -490,6 +490,18 @@ python extend_recipe_sysroot() { | |||
| 490 | fixme['native'] = [] | 490 | fixme['native'] = [] |
| 491 | postinsts = [] | 491 | postinsts = [] |
| 492 | multilibs = {} | 492 | multilibs = {} |
| 493 | manifests = {} | ||
| 494 | |||
| 495 | for f in os.listdir(depdir): | ||
| 496 | if not f.endswith(".complete"): | ||
| 497 | continue | ||
| 498 | f = depdir + "/" + f | ||
| 499 | if os.path.islink(f) and not os.path.exists(f): | ||
| 500 | bb.note("%s no longer exists, removing from sysroot" % f) | ||
| 501 | lnk = os.readlink(f.replace(".complete", "")) | ||
| 502 | sstate_clean_manifest(depdir + "/" + lnk, d, workdir) | ||
| 503 | os.unlink(f) | ||
| 504 | os.unlink(f.replace(".complete", "")) | ||
| 493 | 505 | ||
| 494 | for dep in configuredeps: | 506 | for dep in configuredeps: |
| 495 | c = setscenedeps[dep][0] | 507 | c = setscenedeps[dep][0] |
| @@ -547,6 +559,7 @@ python extend_recipe_sysroot() { | |||
| 547 | bb.warn("Manifest %s not found?" % manifest) | 559 | bb.warn("Manifest %s not found?" % manifest) |
| 548 | else: | 560 | else: |
| 549 | with open(manifest, "r") as f, open(taskmanifest, 'w') as m: | 561 | with open(manifest, "r") as f, open(taskmanifest, 'w') as m: |
| 562 | manifests[dep] = manifest | ||
| 550 | for l in f: | 563 | for l in f: |
| 551 | l = l.strip() | 564 | l = l.strip() |
| 552 | if l.endswith("/"): | 565 | if l.endswith("/"): |
| @@ -573,9 +586,9 @@ python extend_recipe_sysroot() { | |||
| 573 | for p in postinsts: | 586 | for p in postinsts: |
| 574 | subprocess.check_output(p, shell=True) | 587 | subprocess.check_output(p, shell=True) |
| 575 | 588 | ||
| 576 | for dep in configuredeps: | 589 | for dep in manifests: |
| 577 | c = setscenedeps[dep][0] | 590 | c = setscenedeps[dep][0] |
| 578 | open(depdir + "/" + c + ".complete", "w").close() | 591 | os.symlink(manifests[dep], depdir + "/" + c + ".complete") |
| 579 | 592 | ||
| 580 | bb.utils.unlockfile(lock) | 593 | bb.utils.unlockfile(lock) |
| 581 | } | 594 | } |
