[OE-core] sstate.bbclass: Ensure machine specific stamps are only wiped for the current task

Koen Kooi koen at dominion.thruhere.net
Sun Oct 9 11:25:09 UTC 2011


Op 6 okt. 2011, om 16:19 heeft Richard Purdie het volgende geschreven:

> sstate was being a little too ethusiastic about removing stamp files and
> was removing stamp files for other machines when it shouldn't have been.
> 
> This patch teaches sstate about machine specific stamp extensions and
> allows it to only remove the current task's stampfiles.

Not sure if it's related to this problem or not but sstate is still not working as intented for me when switching machines, it keeps rebuilding the toolchain when switching machine. What I did this morning:

1) wipe out tmp, sstate-cache, pseudodone
2) MACHINE=beagleboard bitbake u-boot
3) cp conf/machine/beagleboard.conf conf/machine/brokensstate.conf
4) MACHINE=brokensstate bitbake u-boot

And behold:

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: package gcc-cross-4.5-r43+svnr178923: task do_populate_sysroot_setscene: Started
NOTE: package mtd-utils-1.4.6-r0: task do_populate_sysroot_setscene: Started
NOTE: package gcc-runtime-4.5-r43+svnr178923: task do_populate_sysroot_setscene: Started
NOTE: package eglibc-2.12-r27: task do_populate_sysroot_setscene: Started
NOTE: package mtd-utils-1.4.6-r0: task do_populate_sysroot_setscene: Succeeded
NOTE: package bash-4.1-r2: task do_populate_sysroot_setscene: Started
NOTE: package bash-4.1-r2: task do_populate_sysroot_setscene: Succeeded
NOTE: package gcc-cross-4.5-r43+svnr178923: task do_populate_sysroot_setscene: Succeeded
NOTE: package binutils-cross-2.20.1-r7: task do_populate_sysroot_setscene: Started
NOTE: package linux-libc-headers-2.6.39-r2: task do_populate_sysroot_setscene: Started
NOTE: package eglibc-2.12-r27: task do_populate_sysroot_setscene: Succeeded
NOTE: package binutils-cross-2.20.1-r7: task do_populate_sysroot_setscene: Succeeded
NOTE: package linux-libc-headers-2.6.39-r2: task do_populate_sysroot_setscene: Succeeded
NOTE: package libgcc-4.5-r43+svnr178923: task do_populate_sysroot_setscene: Started
NOTE: package gcc-runtime-4.5-r43+svnr178923: task do_populate_sysroot_setscene: Succeeded
NOTE: package gcc-cross-intermediate-4.5-r43+svnr178923: task do_populate_sysroot_setscene: Started
NOTE: package zlib-1.2.5-r0: task do_populate_sysroot_setscene: Started
NOTE: package libgcc-4.5-r43+svnr178923: task do_populate_sysroot_setscene: Succeeded
NOTE: package lzo-2.05-r0: task do_populate_sysroot_setscene: Started
NOTE: package zlib-1.2.5-r0: task do_populate_sysroot_setscene: Succeeded
NOTE: package e2fsprogs-1.41.14-r2: task do_populate_sysroot_setscene: Started
NOTE: package util-linux-2.19.1-r7: task do_populate_sysroot_setscene: Started
NOTE: package lzo-2.05-r0: task do_populate_sysroot_setscene: Succeeded
NOTE: package e2fsprogs-1.41.14-r2: task do_populate_sysroot_setscene: Succeeded
NOTE: package libtool-cross-2.4-r4: task do_populate_sysroot_setscene: Started
NOTE: package gettext-0.18.1.1-r4: task do_populate_sysroot_setscene: Started
NOTE: package libtool-cross-2.4-r4: task do_populate_sysroot_setscene: Succeeded
NOTE: package util-linux-2.19.1-r7: task do_populate_sysroot_setscene: Succeeded
NOTE: package gcc-cross-intermediate-4.5-r43+svnr178923: task do_populate_sysroot_setscene: Succeeded
NOTE: package ncurses-5.9-r1.1: task do_populate_sysroot_setscene: Started
NOTE: package perl-5.12.3-r5: task do_populate_sysroot_setscene: Started
NOTE: package eglibc-initial-2.12-r27: task do_populate_sysroot_setscene: Started
NOTE: package eglibc-initial-2.12-r27: task do_populate_sysroot_setscene: Succeeded
NOTE: package ncurses-5.9-r1.1: task do_populate_sysroot_setscene: Succeeded
NOTE: package db-5.1.19-r3: task do_populate_sysroot_setscene: Started
NOTE: package expat-2.0.1-r0: task do_populate_sysroot_setscene: Started
NOTE: package expat-2.0.1-r0: task do_populate_sysroot_setscene: Succeeded
NOTE: package perl-5.12.3-r5: task do_populate_sysroot_setscene: Succeeded
NOTE: package gettext-0.18.1.1-r4: task do_populate_sysroot_setscene: Succeeded
NOTE: package gdbm-1.8.3-r4: task do_populate_sysroot_setscene: Started
NOTE: package gcc-cross-initial-4.5-r43+svnr178923: task do_populate_sysroot_setscene: Started
NOTE: package gdbm-1.8.3-r4: task do_populate_sysroot_setscene: Succeeded
NOTE: package db-5.1.19-r3: task do_populate_sysroot_setscene: Succeeded
NOTE: package gcc-cross-initial-4.5-r43+svnr178923: task do_populate_sysroot_setscene: Succeeded
NOTE: Executing RunQueue Tasks
NOTE: Running task 536 of 920 (ID: 918, /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/gcc/gcc-cross-initial_4.5.bb, do_populate_lic)
NOTE: Running task 549 of 920 (ID: 452, /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/binutils/binutils-cross_2.20.1.bb, do_fetch)
NOTE: Running task 553 of 920 (ID: 504, /OE/tentacle/sources/openembedded-core/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb, do_fetch)
NOTE: Running task 558 of 920 (ID: 538, /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/gcc/gcc-cross-intermediate_4.5.bb, do_populate_lic)
NOTE: package gcc-cross-initial-4.5-r43+svnr178923: task do_populate_lic: Started
NOTE: package binutils-cross-2.20.1-r7: task do_fetch: Started
[..]
NOTE: package eglibc-2.12-r27: task do_compile: Started


What I suspect is happing is that angstrom is somehow putting $MACHINE in a var that upsets the sstate logic and/or rm_work upsets sstate and/or something else is broken. The problem is that I have no idea how to debug this except to ping Richard and get the magic diffsigs incantation.

regards,

Koen





More information about the Openembedded-core mailing list