diff options
| -rw-r--r-- | meta/classes/staging.bbclass | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 4dd2ed0101..5dab42745f 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass | |||
| @@ -470,6 +470,7 @@ 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 | binfiles = {} | ||
| 473 | # Now handle installs | 474 | # Now handle installs |
| 474 | for dep in configuredeps: | 475 | for dep in configuredeps: |
| 475 | c = setscenedeps[dep][0] | 476 | c = setscenedeps[dep][0] |
| @@ -562,7 +563,16 @@ python extend_recipe_sysroot() { | |||
| 562 | if l.endswith("/"): | 563 | if l.endswith("/"): |
| 563 | staging_copydir(l, targetdir, dest, seendirs) | 564 | staging_copydir(l, targetdir, dest, seendirs) |
| 564 | continue | 565 | continue |
| 565 | staging_copyfile(l, targetdir, dest, postinsts, seendirs) | 566 | if "/bin/" in l or "/sbin/" in l: |
| 567 | # defer /*bin/* files until last in case they need libs | ||
| 568 | binfiles[l] = (targetdir, dest) | ||
| 569 | else: | ||
| 570 | staging_copyfile(l, targetdir, dest, postinsts, seendirs) | ||
| 571 | |||
| 572 | # Handle deferred binfiles | ||
| 573 | for l in binfiles: | ||
| 574 | (targetdir, dest) = binfiles[l] | ||
| 575 | staging_copyfile(l, targetdir, dest, postinsts, seendirs) | ||
| 566 | 576 | ||
| 567 | bb.note("Installed into sysroot: %s" % str(msg_adding)) | 577 | bb.note("Installed into sysroot: %s" % str(msg_adding)) |
| 568 | bb.note("Skipping as already exists in sysroot: %s" % str(msg_exists)) | 578 | bb.note("Skipping as already exists in sysroot: %s" % str(msg_exists)) |
