On Mon, May 16, 2011 at 01:20:02PM +0200, Koen Kooi wrote: > Hi, > > This bug gets reintroduced every other week, so let's try to fix it properly > this time. The situation: > > 2 machines (beagleboard, pandaboard) using the same base architecture > (armv7a). > > step 0: rm build pseudone -rf > step 1: MACHINE=beagleboard bitbake console-image > step 2: MACHINE=omap4430-panda bitbake console-image > > Step 0 and 1 work great, but I can't get step 2 to work. Attached is the > complete output of step 2. As you can see without any updates to the > repositories it wants to rebuild (e)glibc. > > Why does it wants to rebuild all that? Why does it fail? > > regards, > > Koen
Hi, there is also another source of many sstate rebuilds. I've discuessed this with RP on IRC already and I'll fill bugs as recommended, sharing here just because you have opened this topic. If you have package with PACKAGE_ARCH = "all" then the resulting package is created by run.* scripts with different pathsi, *FLAGS etc even when it produces same output (ie some theme). So all packages with such PACKAGE_ARCH are rebuilt after machine switch (if the machine is ie different arch like om-gta02/nokia900). Sstate is reused when you go back to om-gta02 after building nokia900, so you have ie populate_sysroot only with as many checksums as you're building different archs. RP said, that right fix is to introduce something like all.bbclass which excludes all variables which shouldn't change the output of such package and then checksums will be the same. Here is example with gtk-theme-e17lookalike http://paste.pocoo.org/show/388032/ And as side-note there is small problem when someone tries to hunt such checksum changes, because some tasks which are not directly using sstate like do_install do not save their run.* scripts in better place then ${WORKDIR}/temp So if your bitbake-diffsigs shows something like this: Hash for dependent task /OE/shr-core/meta-shr/recipes-shr/shr/gtk-theme-e17lookalike_git.bb.do_install changed from 8a0de44f3f238f645eab9509172c2d8b to 9d6bf027c5f435498017a652088d7327 You need to find right ${WORKDIR} for that version, and there in temp directory right combination of run.do_install._pid_ scripts, but you don't know which _pid_ belongs to which sstate checksum and I guess pid cannot be stored in .siginfo because it would be always different. Regards, -- Martin 'JaMa' Jansa jabber: [email protected]
_______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
