diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-02-27 17:22:32 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-01 22:13:55 +0000 |
| commit | 3eff72cc1f5989144f8d2cc93fab69e4d3d80f8c (patch) | |
| tree | f6a23e388a034f9836b1852eb5cf1f39dfdc6fca /meta/classes | |
| parent | 6a07697a6dcb5e77aed4b01df4b30024c4b3d0fe (diff) | |
| download | poky-3eff72cc1f5989144f8d2cc93fab69e4d3d80f8c.tar.gz | |
sstatesig/staging/package_manager: Create common sstate manifest code
Create a common function for locating task manifest files rather than
several implementations with missing pieces.
(From OE-Core rev: 68150bac7444f089f19c789e9f6602d59f605d7a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
| -rw-r--r-- | meta/classes/staging.bbclass | 36 |
1 files changed, 5 insertions, 31 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 1b9e84d97e..3fcbc9f15d 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass | |||
| @@ -470,40 +470,14 @@ python extend_recipe_sysroot() { | |||
| 470 | 470 | ||
| 471 | os.symlink(c + "." + taskhash, depdir + "/" + c) | 471 | os.symlink(c + "." + taskhash, depdir + "/" + c) |
| 472 | 472 | ||
| 473 | d2 = d | 473 | manifest, d2 = oe.sstatesig.find_sstate_manifest(c, setscenedeps[dep][2], "populate_sysroot", d, multilibs) |
| 474 | destsysroot = recipesysroot | 474 | destsysroot = d2.getVar("RECIPE_SYSROOT") |
| 475 | variant = '' | ||
| 476 | if setscenedeps[dep][2].startswith("virtual:multilib"): | ||
| 477 | variant = setscenedeps[dep][2].split(":")[2] | ||
| 478 | if variant != current_variant: | ||
| 479 | if variant not in multilibs: | ||
| 480 | multilibs[variant] = get_multilib_datastore(variant, d) | ||
| 481 | d2 = multilibs[variant] | ||
| 482 | destsysroot = d2.getVar("RECIPE_SYSROOT") | ||
| 483 | 475 | ||
| 484 | native = False | 476 | native = False |
| 485 | if c.endswith("-native"): | 477 | if c.endswith("-native") or "-cross-" in c or "-crosssdk" in c: |
| 486 | manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}-%s.populate_sysroot" % c) | ||
| 487 | native = True | 478 | native = True |
| 488 | elif c.startswith("nativesdk-"): | 479 | |
| 489 | manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${SDK_ARCH}_${SDK_OS}-%s.populate_sysroot" % c) | 480 | if manifest: |
| 490 | elif "-cross-" in c: | ||
| 491 | manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}_${TARGET_ARCH}-%s.populate_sysroot" % c) | ||
| 492 | native = True | ||
| 493 | elif "-crosssdk" in c: | ||
| 494 | manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}-%s.populate_sysroot" % c) | ||
| 495 | native = True | ||
| 496 | else: | ||
| 497 | pkgarchs = ['${MACHINE_ARCH}'] | ||
| 498 | pkgarchs = pkgarchs + list(reversed(d2.getVar("PACKAGE_EXTRA_ARCHS").split())) | ||
| 499 | pkgarchs.append('allarch') | ||
| 500 | for pkgarch in pkgarchs: | ||
| 501 | manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-%s-%s.populate_sysroot" % (pkgarch, c)) | ||
| 502 | if os.path.exists(manifest): | ||
| 503 | break | ||
| 504 | if not os.path.exists(manifest): | ||
| 505 | bb.warn("Manifest %s not found?" % manifest) | ||
| 506 | else: | ||
| 507 | newmanifest = collections.OrderedDict() | 481 | newmanifest = collections.OrderedDict() |
| 508 | if native: | 482 | if native: |
| 509 | fm = fixme['native'] | 483 | fm = fixme['native'] |
