[poky] update about SSTATE status

Tian, Kevin kevin.tian at intel.com
Mon Nov 22 03:29:30 PST 2010


>From: Tian, Kevin
>Sent: Monday, November 22, 2010 3:46 PM
>
>
>>
>>> d) no STATE package from the 1st build could be reused when the two builds use
>>> different source trees, though two source trees are identical with only difference on
>>> the path. This is related to OEROOT
>>
>>I was sure I tested this and the checksums matched :/. Which variables
>>are changing to cause this - we really need to track them down...
>
>Sorry that I don't have such info from existing debug log. There I just recorded dep
>variables used in checksum calculation and also the task data itself. However I didn't
>see direct invocation on OEROOT. I'll figure it out later.
>

I think the reason is simple. OEROOT is exported as shell variable by poky-env-internal.
All preserved shell variables are included in dependencies of shell tasks:

def build_dependencies(key, keys, shelldeps, d):
    deps = set()
    try:
        if d.getVarFlag(key, "func"):
            if d.getVarFlag(key, "python"):
                parsedvar = d.expandWithRefs(d.getVar(key, False), key)
                parser = bb.codeparser.PythonParser()
                parser.parse_python(parsedvar.value)
                deps = deps | parser.references
            else:
                parsedvar = d.expandWithRefs(d.getVar(key, False), key)
                parser = bb.codeparser.ShellParser()
                parser.parse_shell(parsedvar.value)
                deps = deps | shelldeps

Thanks
Kevin



More information about the poky mailing list