diff options
Diffstat (limited to 'meta/classes/staging.bbclass')
-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)) |