diff options
| author | Dexuan Cui <dexuan.cui@intel.com> | 2011-01-20 17:01:49 +0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-25 10:59:17 +0000 |
| commit | 46395d4856d11fc135872f8904ce92aa26eec984 (patch) | |
| tree | 7d3157229c7a74ac4a68b0428534defd8fa0abeb /meta/classes/sstate.bbclass | |
| parent | 7109712a25762a530e7385bc796c3b9ff0836303 (diff) | |
| download | poky-46395d4856d11fc135872f8904ce92aa26eec984.tar.gz | |
sstate.bbclass: allow each step of toolchain bootstrap processes to do populate_sysroot independently
Some steps (like gcc-cross-initial, gcc-cross-intermediate and eglibc-initial)
will install to new locations to avoid file overwriting.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Diffstat (limited to 'meta/classes/sstate.bbclass')
| -rw-r--r-- | meta/classes/sstate.bbclass | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index adadbcffc7..38f2bb99e6 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
| @@ -90,30 +90,6 @@ def sstate_install(ss, d): | |||
| 90 | if os.access(manifest, os.R_OK): | 90 | if os.access(manifest, os.R_OK): |
| 91 | bb.fatal("Package already staged (%s)?!" % manifest) | 91 | bb.fatal("Package already staged (%s)?!" % manifest) |
| 92 | 92 | ||
| 93 | def checkmanifest(pn, task): | ||
| 94 | return os.access(bb.data.expand("${SSTATE_MANFILEBASE}%s.%s" % (pn, task), d), os.R_OK) | ||
| 95 | |||
| 96 | skipinst = False | ||
| 97 | pn = d.getVar("PN", True) | ||
| 98 | if pn == "gcc-cross-initial": | ||
| 99 | if checkmanifest("gcc-cross", "populate-sysroot"): | ||
| 100 | skipinst = True | ||
| 101 | if checkmanifest("gcc-cross-intermediate", "populate-sysroot"): | ||
| 102 | skipinst = True | ||
| 103 | elif pn == "gcc-cross-intermediate": | ||
| 104 | if checkmanifest("gcc-cross", "populate-sysroot"): | ||
| 105 | skipinst = True | ||
| 106 | elif pn == "glibc-initial": | ||
| 107 | if checkmanifest("glibc", "populate-sysroot"): | ||
| 108 | skipinst = True | ||
| 109 | elif pn == "eglibc-initial": | ||
| 110 | if checkmanifest("eglibc", "populate-sysroot"): | ||
| 111 | skipinst = True | ||
| 112 | |||
| 113 | if skipinst: | ||
| 114 | bb.note("Not staging %s.%s as sysroot already contains better functionality" % (pn, ss['name'])) | ||
| 115 | return | ||
| 116 | |||
| 117 | locks = [] | 93 | locks = [] |
| 118 | for lock in ss['lockfiles']: | 94 | for lock in ss['lockfiles']: |
| 119 | locks.append(bb.utils.lockfile(lock)) | 95 | locks.append(bb.utils.lockfile(lock)) |
