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 | |
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')
-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)) |