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>
This commit is contained in:
Dexuan Cui 2011-01-20 17:01:49 +08:00 committed by Richard Purdie
parent 7109712a25
commit 46395d4856
1 changed files with 0 additions and 24 deletions

View File

@ -90,30 +90,6 @@ def sstate_install(ss, d):
if os.access(manifest, os.R_OK):
bb.fatal("Package already staged (%s)?!" % manifest)
def checkmanifest(pn, task):
return os.access(bb.data.expand("${SSTATE_MANFILEBASE}%s.%s" % (pn, task), d), os.R_OK)
skipinst = False
pn = d.getVar("PN", True)
if pn == "gcc-cross-initial":
if checkmanifest("gcc-cross", "populate-sysroot"):
skipinst = True
if checkmanifest("gcc-cross-intermediate", "populate-sysroot"):
skipinst = True
elif pn == "gcc-cross-intermediate":
if checkmanifest("gcc-cross", "populate-sysroot"):
skipinst = True
elif pn == "glibc-initial":
if checkmanifest("glibc", "populate-sysroot"):
skipinst = True
elif pn == "eglibc-initial":
if checkmanifest("eglibc", "populate-sysroot"):
skipinst = True
if skipinst:
bb.note("Not staging %s.%s as sysroot already contains better functionality" % (pn, ss['name']))
return
locks = []
for lock in ss['lockfiles']:
locks.append(bb.utils.lockfile(lock))