diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-07-02 12:43:50 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-07-30 00:02:52 +0100 |
commit | f55516fef59df009b0aa190906fbb7d1d39829a8 (patch) | |
tree | 09a6934528a17833722bf95b4f11ad86a412597d /meta/classes | |
parent | 842ad94cad240b7fead97bf3ac03fa70323d24e3 (diff) | |
download | poky-f55516fef59df009b0aa190906fbb7d1d39829a8.tar.gz |
staging: Improve fixup processing code
With the fixes to other parts of multilib, it was found that the fixup code's
assumptions about the recipe sysroot were incorrect. We need to use the value
calculated earlier in the function.
It turns out there is a rather neat way to do this which cleans up the code
as an added bonus.
(From OE-Core rev: 2c1978fe1a5b72167c49010fbdd39a9e2eefdef8)
(From OE-Core rev: ef7e612e54d7629518a13ed3b1c2967bf70347a2)
(From OE-Core rev: c1455f3b052fc589fad628e97e35bcc9296726e1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/staging.bbclass | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index f04c7b637d..91cbc2083d 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass | |||
@@ -383,8 +383,6 @@ python extend_recipe_sysroot() { | |||
383 | lock = bb.utils.lockfile(recipesysroot + "/sysroot.lock") | 383 | lock = bb.utils.lockfile(recipesysroot + "/sysroot.lock") |
384 | 384 | ||
385 | fixme = {} | 385 | fixme = {} |
386 | fixme[''] = [] | ||
387 | fixme['native'] = [] | ||
388 | seendirs = set() | 386 | seendirs = set() |
389 | postinsts = [] | 387 | postinsts = [] |
390 | multilibs = {} | 388 | multilibs = {} |
@@ -483,12 +481,13 @@ python extend_recipe_sysroot() { | |||
483 | 481 | ||
484 | if manifest: | 482 | if manifest: |
485 | newmanifest = collections.OrderedDict() | 483 | newmanifest = collections.OrderedDict() |
484 | targetdir = destsysroot | ||
486 | if native: | 485 | if native: |
487 | fm = fixme['native'] | ||
488 | targetdir = recipesysrootnative | 486 | targetdir = recipesysrootnative |
489 | else: | 487 | if targetdir not in fixme: |
490 | fm = fixme[''] | 488 | fixme[targetdir] = [] |
491 | targetdir = destsysroot | 489 | fm = fixme[targetdir] |
490 | |||
492 | with open(manifest, "r") as f: | 491 | with open(manifest, "r") as f: |
493 | manifests[dep] = manifest | 492 | manifests[dep] = manifest |
494 | for l in f: | 493 | for l in f: |
@@ -546,12 +545,7 @@ python extend_recipe_sysroot() { | |||
546 | bb.note("Skipping as already exists in sysroot: %s" % str(msg_exists)) | 545 | bb.note("Skipping as already exists in sysroot: %s" % str(msg_exists)) |
547 | 546 | ||
548 | for f in fixme: | 547 | for f in fixme: |
549 | if f == '': | 548 | staging_processfixme(fixme[f], f, recipesysroot, recipesysrootnative, d) |
550 | staging_processfixme(fixme[f], recipesysroot, recipesysroot, recipesysrootnative, d) | ||
551 | elif f == 'native': | ||
552 | staging_processfixme(fixme[f], recipesysrootnative, recipesysroot, recipesysrootnative, d) | ||
553 | else: | ||
554 | staging_processfixme(fixme[f], multilibs[f].getVar("RECIPE_SYSROOT"), recipesysroot, recipesysrootnative, d) | ||
555 | 549 | ||
556 | for p in postinsts: | 550 | for p in postinsts: |
557 | subprocess.check_output(p, shell=True, stderr=subprocess.STDOUT) | 551 | subprocess.check_output(p, shell=True, stderr=subprocess.STDOUT) |