diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/staging.bbclass | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 55a9b52ed2..cca0b7e0d6 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass | |||
@@ -449,6 +449,7 @@ python extend_recipe_sysroot() { | |||
449 | msg_exists = [] | 449 | msg_exists = [] |
450 | msg_adding = [] | 450 | msg_adding = [] |
451 | 451 | ||
452 | # Handle all removals first since files may move between recipes | ||
452 | for dep in configuredeps: | 453 | for dep in configuredeps: |
453 | c = setscenedeps[dep][0] | 454 | c = setscenedeps[dep][0] |
454 | if c not in installed: | 455 | if c not in installed: |
@@ -459,7 +460,6 @@ python extend_recipe_sysroot() { | |||
459 | if os.path.exists(depdir + "/" + c): | 460 | if os.path.exists(depdir + "/" + c): |
460 | lnk = os.readlink(depdir + "/" + c) | 461 | lnk = os.readlink(depdir + "/" + c) |
461 | if lnk == c + "." + taskhash and os.path.exists(depdir + "/" + c + ".complete"): | 462 | if lnk == c + "." + taskhash and os.path.exists(depdir + "/" + c + ".complete"): |
462 | msg_exists.append(c) | ||
463 | continue | 463 | continue |
464 | else: | 464 | else: |
465 | bb.note("%s exists in sysroot, but is stale (%s vs. %s), removing." % (c, lnk, c + "." + taskhash)) | 465 | bb.note("%s exists in sysroot, but is stale (%s vs. %s), removing." % (c, lnk, c + "." + taskhash)) |
@@ -470,6 +470,20 @@ python extend_recipe_sysroot() { | |||
470 | elif os.path.lexists(depdir + "/" + c): | 470 | elif os.path.lexists(depdir + "/" + c): |
471 | os.unlink(depdir + "/" + c) | 471 | os.unlink(depdir + "/" + c) |
472 | 472 | ||
473 | # Now handle installs | ||
474 | for dep in configuredeps: | ||
475 | c = setscenedeps[dep][0] | ||
476 | if c not in installed: | ||
477 | continue | ||
478 | taskhash = setscenedeps[dep][5] | ||
479 | taskmanifest = depdir + "/" + c + "." + taskhash | ||
480 | |||
481 | if os.path.exists(depdir + "/" + c): | ||
482 | lnk = os.readlink(depdir + "/" + c) | ||
483 | if lnk == c + "." + taskhash and os.path.exists(depdir + "/" + c + ".complete"): | ||
484 | msg_exists.append(c) | ||
485 | continue | ||
486 | |||
473 | msg_adding.append(c) | 487 | msg_adding.append(c) |
474 | 488 | ||
475 | os.symlink(c + "." + taskhash, depdir + "/" + c) | 489 | os.symlink(c + "." + taskhash, depdir + "/" + c) |