[yocto] RaspberryPi Kernel - sometimes it works, sometimes it doesn't
Tomas Frydrych
tf+lists.yocto at r-finger.com
Tue Jun 12 00:23:54 PDT 2012
On 11/06/12 17:29, Paul Eggleton wrote:
> On Monday 11 June 2012 06:53:32 Khem Raj wrote:
>> On 6/11/2012 12:29 AM, Tomas Frydrych wrote:
>>> I find that -c clean does not work very well, afterward the package
>>> gets recompiled but instead of the actual package packages being
>>> rebuilt, an earlier version of the packages gets pulled out of
>>> sstate into the image. I definitely saw this behaviour with Yocto
>>> kernels, but I think happens with other packages as well; I always
>>> do -c cleansstate now to avoid this.
>>
>> yes thats the intended behavior if nothing changed that ensues a
>> recompile then it will use precompiled sstate for the package
>
> To clarify, it's designed to be able to determine when the recipe has changed
> in such a way that it needs to be rebuilt (by building up dependencies between
> variables and computing a checksum of the value of each one, which ends up in
> a checksum for each task); if it sees no change then the previous task output
> will be used from the sstate cache. It's worth noting however that until
> recently (post-1.2) we did not handle when local files referred to in SRC_URI
> changed. There also still may be other circumstances under which changes to
> the recipe or variables which it refers to will not change the sstate
> checksums; if you come across a situation where you made a change and sstate
> was re-used when you expected it to be rebuilt, please raise it.
Over years of working with Poky I have developed this sort of a normal
work flow:
bitbake -c devshell <package>
< do some tweaking >
bitbake -c compile -f <package>
bitbake <package> <---- this pulls package from sstate!!!
scp ...
< test, repeat>
This no longer works, even after a forced recompile, Poky just pulls a
package out of sstate. It seems the only reliable way to force a package
rebuild is either to cleansstate or bump the PR, neither of which is
viable an option in the above scenario. What am I missing? Is this
really intended?
Tomas
More information about the yocto
mailing list