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

Martin Jansa martin.jansa at gmail.com
Thu Nov 3 22:08:37 UTC 2011


On Thu, Nov 03, 2011 at 05:33:28PM +0100, Martin Jansa wrote:
> Hi,
> 
> to recap what we have talked about on ELCE;
> 
> Currently it doesn't seem to change sstate checksums after switching
> MACHINE, but still it rebuilds everything at least once after switch.
> 
> Today I've tried to wipe tmp and rebuild from sstate-cache and I've
> noticed interesting thing:
> 
> All recipes are starting with 
> do_populate_lic_setscene 
> not 
> do_populate_sysroot_setscene
> like ie koen's build does
> 
> NOTE: Resolving any missing task queue dependencies
> NOTE: Preparing runqueue
> NOTE: Executing SetScene Tasks
> NOTE: package quilt-native-0.48-r0: task do_populate_lic_setscene: Started
> NOTE: package shr-image-2.0-r18: task do_populate_lic_setscene: Started
> NOTE: package quilt-native-0.48-r0: task do_populate_lic_setscene: Succeeded
> NOTE: package shr-image-2.0-r18: task do_populate_lic_setscene: Succeeded
> 
> Does do_populate_lic_setscene wipe all stamps after do_populate_lic so it 
> causes the rebuild instead of population of sysroot from sstate?
> 
> IIRC I had similar issue when I was starting to use oe-core and it was 
> in the end caused by inheriting package_ipk (once directly from distro config 
> and once through sane-feed-ipk.inc) and it was fixed 6 months ago by:
> http://git.shr-project.org/git/?p=meta-shr.git;a=commit;h=00623b3c6dd01c4a227008f7cfdb0801cb06f49a
> And IIRC we've talked about some ways to make sstate less error-prone
> for such things.
> 
> Now I have similar symptoms but only after switching MACHINE.
> 
> Any hint?

With few more hours of debuging this.. I can say that sometimes it works, 
but sometimes it's too strict to be usefull anyway.

Whole logs are here:
http://build.shr-project.org/tests/jama/sstate.test
here I'll try to shorten as much as possible.

OE @shr ~/shr-core $ export MACHINE=qemuarm
OE qemuarm at shr ~/shr-core $ bitbake -k core-image-core
.....
NOTE: package core-image-core-1.0-r0: task do_rm_work_all: Succeeded
NOTE: Tasks Summary: Attempted 5306 tasks of which 5250 didn't need to be rerun and 0 failed.
OE qemuarm at shr ~/shr-core $ bitbake -k expat
Parsing of 1436 .bb files complete (1423 cached, 13 parsed). 1837 targets, 56 skipped, 0 masked, 0 errors.

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Running task 2428 of 2428 (ID: 11, /OE/shr-core/openembedded-core/meta/recipes-core/expat/expat_2.0.1.bb, do_rm_work_all)
NOTE: package expat-2.0.1-r1: task do_rm_work_all: Started
NOTE: package expat-2.0.1-r1: task do_rm_work_all: Succeeded
NOTE: Tasks Summary: Attempted 2428 tasks of which 2427 didn't need to be rerun and 0 failed.

All done

OE qemuarmB at shr ~/shr-core $ cp openembedded-core/meta/conf/machine/qemuarm.conf openembedded-core/meta/conf/machine/qemuarmcopy.conf
OE qemuarmB at shr ~/shr-core $ export MACHINE=qemuarmcopy
OE qemuarmcopy at shr ~/shr-core $ bitbake -k expat
Parsing of 1436 .bb files complete (0 cached, 1436 parsed). 1837 targets, 56 skipped, 0 masked, 0 errors.

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
..
libproxy fail (around task 2232)
fix

OE qemuarmcopy at shr ~/shr-core $ bitbake -k expat
libproxy built
NOTE: Tasks Summary: Attempted 2428 tasks of which 2232 didn't need to be rerun and 0 failed.

So after 3 hours we have qemuarm and qemuarmcopy (identical machine) with expat built! hurray
But seems like nothing was reused from qemuarm build.

once again for check

OE qemuarmcopy at shr ~/shr-core $ export MACHINE=qemuarm
OE qemuarm at shr ~/shr-core $ bitbake -k expat
Parsing of 1436 .bb files complete (1423 cached, 13 parsed). 1837 targets, 56 skipped, 0 masked, 0 errors.
...
NOTE: Tasks Summary: Attempted 2428 tasks of which 2428 didn't need to be rerun and 0 failed.

OE qemuarm at shr ~/shr-core $ export MACHINE=qemuarmcopy
OE qemuarmcopy at shr ~/shr-core $ bitbake -k expat
Parsing of 1436 .bb files complete (1423 cached, 13 parsed). 1837 targets, 56 skipped, 0 masked, 0 errors.
...
NOTE: Tasks Summary: Attempted 2428 tasks of which 2428 didn't need to be rerun and 0 failed.

great

OE qemuarmcopy at shr ~/shr-core/tmp/sstate-control $ ls -lah manifest-qemuarm*expat* manifest-spitz-*expat* | sed 's/.*bitbake//g'
  460 Oct 30 00:54 manifest-qemuarm-expat.deploy-ipk
 1.2K Oct 30 00:54 manifest-qemuarm-expat.package
  138 Oct 30 00:34 manifest-qemuarm-expat.populate-lic
  732 Oct 30 00:54 manifest-qemuarm-expat.populate-sysroot
  460 Nov  3 19:50 manifest-qemuarmcopy-expat.deploy-ipk
 1.2K Nov  3 19:50 manifest-qemuarmcopy-expat.package
  138 Nov  3 19:17 manifest-qemuarmcopy-expat.populate-lic
  788 Nov  3 19:50 manifest-qemuarmcopy-expat.populate-sysroot
  460 Oct 25 15:35 manifest-spitz-expat.deploy-ipk
 1.2K Oct 25 15:35 manifest-spitz-expat.package
  138 Oct 25 15:35 manifest-spitz-expat.populate-lic
  704 Oct 25 15:35 manifest-spitz-expat.populate-sysroot

OE qemuarmcopy at shr ~/shr-core/sstate-cache $ ls -la1 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-* | sort | sed 's/.*bitbake//g'
    926 Nov  3 19:17 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-b198883dcffdb3af1a2c669f97d379ca_populate-lic.tgz
   8444 Nov  3 19:17 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-b198883dcffdb3af1a2c669f97d379ca_populate-lic.tgz.siginfo
  12409 Nov  3 19:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-62f6df13c2e883d59f8e73e5eb24fdab_deploy-ipk.tgz.siginfo
  12419 Oct 25 15:35 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-757ebe15c6afc27935bb3f3b823f1a12_deploy-ipk.tgz.siginfo
  12419 Oct 30 00:54 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-e2d316a9a054855d4433a3734e343db8_deploy-ipk.tgz.siginfo
  21852 Nov  3 19:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-1a807cb22931fac0fbd848d258cafecd_populate-sysroot.tgz.siginfo
  21920 Oct 25 15:35 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-d813b67ed935225757b90d014f631652_populate-sysroot.tgz.siginfo
  21927 Oct 30 00:54 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-e90bb07db6e100f14ee8f8eed99a7d7e_populate-sysroot.tgz.siginfo
  91310 Oct 25 15:35 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-f22b72a744d826703a553960f3402bc9_package.tgz.siginfo
  91317 Oct 30 00:54 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-634056338ea09623cd84437f710e04d5_package.tgz.siginfo
  91826 Nov  3 19:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-0bd093f2a681edc159eff0dc784022f9_package.tgz.siginfo
 339323 Oct 25 15:35 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-d813b67ed935225757b90d014f631652_populate-sysroot.tgz
 339468 Oct 30 00:54 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-e90bb07db6e100f14ee8f8eed99a7d7e_populate-sysroot.tgz
 339470 Nov  3 19:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-1a807cb22931fac0fbd848d258cafecd_populate-sysroot.tgz
 437319 Oct 25 15:35 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-757ebe15c6afc27935bb3f3b823f1a12_deploy-ipk.tgz
 437805 Nov  3 19:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-62f6df13c2e883d59f8e73e5eb24fdab_deploy-ipk.tgz
 437864 Oct 30 00:54 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-e2d316a9a054855d4433a3734e343db8_deploy-ipk.tgz
 882262 Oct 25 15:35 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-f22b72a744d826703a553960f3402bc9_package.tgz
 882411 Nov  3 19:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-0bd093f2a681edc159eff0dc784022f9_package.tgz
 882415 Oct 30 00:54 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-634056338ea09623cd84437f710e04d5_package.tgz

So it seems we have the same populate-lic.tgz.siginfo for all 3 machines but remaining tasks are 1 for each machine.

so lets check deploy-ipk for qemuarm and qemuarmcopy..

OE qemuarmcopy at shr ~/shr-core/sstate-cache $ bitbake-diffsigs sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-e2d316a9a054855d4433a3734e343db8_deploy-ipk.tgz.siginfo sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-62f6df13c2e883d59f8e73e5eb24fdab_deploy-ipk.tgz.siginfo
basehash changed from 1d549bac0c3a8e400f1b56b7df9cf79e to 7558b2191b73c3ef5d99e608c2701215
Variable OPKGBUILDCMD value changed from opkg-build -o 0 -g 0 to opkg-build
Hash for dependent task virtual:native:/OE/shr-core/openembedded-core/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb.do_populate_sysroot changed from ed94400e8710f5a838f362f1ce67fb78 to 23c7d629ee4bf98f81cb85af901e7396
Hash for dependent task /OE/shr-core/openembedded-core/meta/recipes-core/expat/expat_2.0.1.bb.do_package changed from 634056338ea09623cd84437f710e04d5 to 0bd093f2a681edc159eff0dc784022f9
Hash for dependent task virtual:native:/OE/shr-core/openembedded-core/meta/recipes-devtools/pseudo/pseudo_1.1.1.bb.do_populate_sysroot changed from dde1a4ad1e7479005c272dda013d87ef to fca554e63de71499466d62d6c6d0f38c

ahh lots of changes.. but wait!
So MACHINE=qemuarm first said
NOTE: Tasks Summary: Attempted 2428 tasks of which 2427 didn't need to be rerun and 0 failed.
but sstate checksums were invalid already for qemuarm (ie due to OPKGBUILDCMD change)

So let's retry with clean sstate:

OE qemuarmcopy at shr ~/shr-core $ bitbake -c cleansstate -b openembedded-core/meta/recipes-core/expat/expat_2.0.1.bb
..
OE qemuarmcopy at shr ~/shr-core/sstate-cache $ ls -la1 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-* | sort | sed 's/.*bitbake//g'
ls: cannot access sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-*: No such file or directory

OK no sstate tgz for all 3 armv5t machines

OE qemuarmcopy at shr ~/shr-core/tmp/sstate-control $ ls -lah manifest-qemuarm*expat* manifest-spitz-*expat* |  sed 's/.*bitbake//g'
  460 Oct 30 00:54 manifest-qemuarm-expat.deploy-ipk
 1.2K Oct 30 00:54 manifest-qemuarm-expat.package
  138 Oct 30 00:34 manifest-qemuarm-expat.populate-lic
  732 Oct 30 00:54 manifest-qemuarm-expat.populate-sysroot
  460 Oct 25 15:35 manifest-spitz-expat.deploy-ipk
 1.2K Oct 25 15:35 manifest-spitz-expat.package
  138 Oct 25 15:35 manifest-spitz-expat.populate-lic
  704 Oct 25 15:35 manifest-spitz-expat.populate-sysroot

Remaining 2 armv5t machines still have their manifests, lets clean them too.

OE qemuarmcopy at shr ~/shr-core $ export MACHINE=qemuarm    
OE qemuarm at shr ~/shr-core $ bitbake -c cleansstate -b openembedded-core/meta/recipes-core/expat/expat_2.0.1.bb 
....

OE qemuarm at shr ~/shr-core $ export MACHINE=spitz
OE spitz at shr ~/shr-core $ bitbake -c cleansstate -b openembedded-core/meta/recipes-core/expat/expat_2.0.1.bb 
...

OE qemuarm at shr ~/shr-core/tmp/sstate-control $ ls -lah manifest-qemuarm*expat* |  sed 's/.*bitbake//g'
ls: cannot access manifest-qemuarm*expat*: No such file or directory

OK good, clean start

OE qemuarm at shr ~/shr-core $ bitbake expat
Parsing of 1436 .bb files complete (1423 cached, 13 parsed). 1837 targets, 56 skipped, 0 masked, 0 errors.
...
NOTE: Tasks Summary: Attempted 2428 tasks of which 2414 didn't need to be rerun and 0 failed.

OE qemuarm at shr ~/shr-core $ export MACHINE=qemuarmcopy                                                                                                      
OE qemuarmcopy at shr ~/shr-core/sstate-cache $ ls -la1 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-* | sort | sed 's/.*bitbake//g'
    926 Nov  3 21:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-b198883dcffdb3af1a2c669f97d379ca_populate-lic.tgz
   8444 Nov  3 21:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-b198883dcffdb3af1a2c669f97d379ca_populate-lic.tgz.siginfo
  12409 Nov  3 21:51 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-62f6df13c2e883d59f8e73e5eb24fdab_deploy-ipk.tgz.siginfo
  21852 Nov  3 21:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-1a807cb22931fac0fbd848d258cafecd_populate-sysroot.tgz.siginfo
  91826 Nov  3 21:51 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-0bd093f2a681edc159eff0dc784022f9_package.tgz.siginfo
 339474 Nov  3 21:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-1a807cb22931fac0fbd848d258cafecd_populate-sysroot.tgz
 437687 Nov  3 21:51 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-62f6df13c2e883d59f8e73e5eb24fdab_deploy-ipk.tgz
 882413 Nov  3 21:51 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-0bd093f2a681edc159eff0dc784022f9_package.tgz

OE qemuarmcopy at shr ~/shr-core/tmp/sstate-control $ ls -lah manifest-qemuarm*expat* |  sed 's/.*bitbake//g'
  460 Nov  3 21:51 manifest-qemuarm-expat.deploy-ipk
 1.2K Nov  3 21:51 manifest-qemuarm-expat.package
  138 Nov  3 21:50 manifest-qemuarm-expat.populate-lic
  732 Nov  3 21:50 manifest-qemuarm-expat.populate-sysroot

sofar good

OE qemuarmcopy at shr ~/shr-core $ bitbake expat
Parsing of 1436 .bb files complete (1423 cached, 13 parsed). 1837 targets, 56 skipped, 0 masked, 0 errors.

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: package expat-2.0.1-r1: task do_package_write_ipk_setscene: Started
NOTE: package expat-2.0.1-r1: task do_populate_sysroot_setscene: Started
NOTE: package expat-2.0.1-r1: task do_package_write_ipk_setscene: Succeeded
NOTE: package expat-2.0.1-r1: task do_populate_sysroot_setscene: Succeeded
NOTE: package expat-2.0.1-r1: task do_package_setscene: Started
NOTE: package expat-2.0.1-r1: task do_package_setscene: Succeeded
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2428 tasks of which 2428 didn't need to be rerun and 0 failed.

OE spitz at shr ~/shr-core/tmp/sstate-control $ ls -lah manifest-qemuarm*expat* |  sed 's/.*bitbake//g'
  460 Nov  3 21:51 manifest-qemuarm-expat.deploy-ipk
 1.2K Nov  3 21:51 manifest-qemuarm-expat.package
  138 Nov  3 21:50 manifest-qemuarm-expat.populate-lic
  732 Nov  3 21:50 manifest-qemuarm-expat.populate-sysroot
  460 Nov  3 21:54 manifest-qemuarmcopy-expat.deploy-ipk
 1.2K Nov  3 21:54 manifest-qemuarmcopy-expat.package
  788 Nov  3 21:54 manifest-qemuarmcopy-expat.populate-sysroot

nice! everything reused! lets try spitz..

OE spitz at shr ~/shr-core $ bitbake expat
NOTE: Out of date cache found, rebuilding...
NOTE: shr DOES NOT support sysvinit because use systemd now                                                                                    | ETA:  0:01:26
NOTE: shr DOES NOT support external-poky-toolchain because use internal toolchain                                                              | ETA:  0:01:29
NOTE: shr DOES NOT support external-csl-toolchain because use internal toolchain
NOTE: shr DOES NOT support console-tools because use kbd now
NOTE: shr DOES NOT support libiconv because libiconv is provided by LIBC                                                                       | ETA:  0:01:30
NOTE: shr DOES NOT support libiconv because libiconv is provided by LIBC
NOTE: shr DOES NOT support gconf-dbus because gconf-dbus is provided by gconf                                                                  | ETA:  0:01:32
NOTE: shr DOES NOT support xserver-common because use x11-common now###########################################                                | ETA:  0:00:35
Parsing recipes: 100% |########################################################################################################################| Time: 0:04:23
Parsing of 1436 .bb files complete (0 cached, 1436 parsed). 1837 targets, 52 skipped, 0 masked, 0 errors.

OE Build Configuration:
BB_VERSION        = "1.13.3"
TARGET_ARCH       = "arm"
TARGET_OS         = "linux-gnueabi"
MACHINE           = "spitz"
DISTRO            = "shr"
DISTRO_VERSION    = "20111103"
TUNE_FEATURES     = "armv5 dsp thumb xscale"
TARGET_FPU        = "soft"
meta-jama         = "master:f699df1c7aa69f669cf0e6f0e1fe5cc1e7f3e29e"
meta-shr          
meta-aurora       
meta-fso          = "jama:b159c41f87b6349a1b3963b77a696e3414012fc9"
meta-efl          
meta-oe           
meta-gnome        
meta-gpe          = "shr:b4ef7ac3f70ef15c45ef01af87a665d2a4135890"
meta-nokia        
meta-htc          
meta-palm         
meta-openmoko     
meta-samsung      = "jama:b159c41f87b6349a1b3963b77a696e3414012fc9"
meta-handheld     = "jansa/spitz:b228c7de95d49afc31866523c1c542a53f6229a7"
meta              = "jansa/test:9f46daa3b656ccd83ac3322ab8c8a027eb09b260"

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Running task 1961 of 2428 (ID: 4, /OE/shr-core/openembedded-core/meta/recipes-core/expat/expat_2.0.1.bb, do_fetch)
NOTE: Running task 2142 of 2428 (ID: 1248, virtual:native:/OE/shr-core/meta-openembedded/meta-gnome/recipes-gnome/gobject-introspection/gobject-introspection_
git.bb, do_fetch)
NOTE: package expat-2.0.1-r1: task do_fetch: Started
NOTE: package expat-2.0.1-r1: task do_fetch: Succeeded
NOTE: Running task 2143 of 2428 (ID: 0, /OE/shr-core/openembedded-core/meta/recipes-core/expat/expat_2.0.1.bb, do_unpack)
NOTE: package expat-2.0.1-r1: task do_unpack: Started
NOTE: package gobject-introspection-native-1.29.0+gitr3+8d64bc23d2b837421ecf9c7b0e4b8d5d95ca0d21-r0: task do_fetch: Started
...
NOTE: package gobject-introspection-native-1.29.0+gitr3+8d64bc23d2b837421ecf9c7b0e4b8d5d95ca0d21-r0: task do_rm_work: Succeeded
NOTE: package libproxy-0.4.7-r1: task do_fetch: Started
...
NOTE: package expat-2.0.1-r1: task do_rm_work: Succeeded
NOTE: package libproxy-0.4.7-r1: task do_rm_work: Started
NOTE: package libproxy-0.4.7-r1: task do_rm_work: Succeeded
NOTE: Running task 2428 of 2428 (ID: 11, /OE/shr-core/openembedded-core/meta/recipes-core/expat/expat_2.0.1.bb, do_rm_work_all)
NOTE: package expat-2.0.1-r1: task do_rm_work_all: Started
NOTE: package expat-2.0.1-r1: task do_rm_work_all: Succeeded
NOTE: Tasks Summary: Attempted 2428 tasks of which 2388 didn't need to be rerun and 0 failed.

libproxy was built because I had to cleansstate it in first qemuarmcopy build - remember?
gobject-introspection-native was rebuilt for some reason, but probably not important

but why did it build expat again?

OE spitz at shr ~/shr-core/sstate-cache $ ls -la1 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-* | sort | sed 's/.*bitbake//g'
    924 Nov  3 22:02 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-b198883dcffdb3af1a2c669f97d379ca_populate-lic.tgz
   8444 Nov  3 22:02 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-b198883dcffdb3af1a2c669f97d379ca_populate-lic.tgz.siginfo
  12409 Nov  3 21:51 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-62f6df13c2e883d59f8e73e5eb24fdab_deploy-ipk.tgz.siginfo
  12409 Nov  3 22:04 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-8ddf3a5ca6b77e09cb0c64fcc7ff5279_deploy-ipk.tgz.siginfo
  21845 Nov  3 22:03 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-20b5b1202729ee864303af147d64958d_populate-sysroot.tgz.siginfo
  21852 Nov  3 21:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-1a807cb22931fac0fbd848d258cafecd_populate-sysroot.tgz.siginfo
  91819 Nov  3 22:04 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-cab79e114cc993bf250b13dfa8a93624_package.tgz.siginfo
  91826 Nov  3 21:51 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-0bd093f2a681edc159eff0dc784022f9_package.tgz.siginfo
 339330 Nov  3 22:03 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-20b5b1202729ee864303af147d64958d_populate-sysroot.tgz
 339474 Nov  3 21:50 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-1a807cb22931fac0fbd848d258cafecd_populate-sysroot.tgz
 437571 Nov  3 22:04 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-8ddf3a5ca6b77e09cb0c64fcc7ff5279_deploy-ipk.tgz
 437687 Nov  3 21:51 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-62f6df13c2e883d59f8e73e5eb24fdab_deploy-ipk.tgz
 882277 Nov  3 22:04 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-cab79e114cc993bf250b13dfa8a93624_package.tgz
 882413 Nov  3 21:51 sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-0bd093f2a681edc159eff0dc784022f9_package.tgz

OE spitz at shr ~/shr-core/tmp/sstate-control $ ls -lah manifest-qemuarm*expat* manifest-spitz-*expat* |  sed 's/.*bitbake//g'
  460 Nov  3 21:51 manifest-qemuarm-expat.deploy-ipk
 1.2K Nov  3 21:51 manifest-qemuarm-expat.package
  138 Nov  3 21:50 manifest-qemuarm-expat.populate-lic
  732 Nov  3 21:50 manifest-qemuarm-expat.populate-sysroot
  460 Nov  3 21:54 manifest-qemuarmcopy-expat.deploy-ipk
 1.2K Nov  3 21:54 manifest-qemuarmcopy-expat.package
  788 Nov  3 21:54 manifest-qemuarmcopy-expat.populate-sysroot
  460 Nov  3 22:04 manifest-spitz-expat.deploy-ipk
 1.2K Nov  3 22:04 manifest-spitz-expat.package
  138 Nov  3 22:02 manifest-spitz-expat.populate-lic
  704 Nov  3 22:03 manifest-spitz-expat.populate-sysroot

OE qemuarm at shr ~/shr-core/sstate-cache $ bitbake-diffsigs sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-cab79e114cc993bf250b13dfa8a93624_package.tgz.siginfo sstate-expat-armv5te-oe-linux-gnueabi-2.0.1-r1-armv5te-2-0bd093f2a681edc159eff0dc784022f9_package.tgz.siginfo
basehash changed from 46af1626aaa837363f75be1feb68a887 to 538e0e2d40c961a31a4347625af0b0f2
Variable TUNE_CCARGS value changed from  ${@bb.utils.contains("TUNE_FEATURES", "armv5", "-march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}", "", d)} ${@bb.utils.contains("TUNE_FEATURES", "armv4", "-march=armv4${ARMPKGSFX_THUMB}", "", d)} ${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "", d)} ${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", "-mno-thumb-interwork", "-mthumb-interwork", d)} ${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "-mfloat-abi=hard", "-mfloat-abi=softfp", d), "" ,d)} ${@bb.utils.contains("TUNE_FEATURES", "xscale", "-mtune=xscale", "", d)} to  ${@bb.utils.contains("TUNE_FEATURES", "armv5", "-march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}", "", d)} ${@bb.utils.contains("TUNE_FEATURES", "armv4", "-march=armv4${ARMPKGSFX_THUMB}", "", d)} ${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "", d)} ${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", "-mno-thumb-interwork", "-mthumb-interwork", d)} ${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "-mfloat-abi=hard", "-mfloat-abi=softfp", d), "" ,d)} ${@bb.utils.contains("TUNE_FEATURES", "arm926ejs", "-mtune=arm926ej-s", "", d)}
Hash for dependent task /OE/shr-core/openembedded-core/meta/recipes-core/expat/expat_2.0.1.bb.do_install changed from caca792bd48071654a7061388de25373 to 18e1dbc2128e23f65b5a8d8fc418a38d
Hash for dependent task /OE/shr-core/openembedded-core/meta/recipes-devtools/gcc/gcc-cross_4.6.bb.do_package changed from dd50ecd95cc6795a9dd0cd2bf46f402d to b781ef14e88af52bab8e86f18fd44e8a
Hash for dependent task /OE/shr-core/openembedded-core/meta/recipes-core/eglibc/eglibc_2.14.bb.do_package changed from 585a01290d2062f02ec6618a9b4b661d to 27699293b72b7b12aa2662b9a1a66a53
Hash for dependent task /OE/shr-core/openembedded-core/meta/recipes-devtools/desktop-file-utils/desktop-file-utils-native_0.15.bb.do_populate_sysroot changed from 67753340d7173dcf7d0a50f750b322b1 to 9d6d5166a23472faa5b66c8ab86a9448
Hash for dependent task /OE/shr-core/openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_4.6.bb.do_package changed from 66c434a5afcb5895d45e5f78a5375240 to de96ebfb46addf8e7a945a56da436af5
Hash for dependent task /OE/shr-core/openembedded-core/meta/recipes-devtools/libtool/libtool-cross_2.4.bb.do_package changed from c2e9e854f6c13ae537f6d6edc6b6ed54 to 34ccdc741d85abba60afe3ce93676e77

aaah so they're compatible only as far as they have completely the same TUNE_CCARGS?

few more white-spaces to see the diff:
Variable TUNE_CCARGS value changed from  
${@bb.utils.contains("TUNE_FEATURES", "armv5", "-march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}", "", d)} 
${@bb.utils.contains("TUNE_FEATURES", "armv4", "-march=armv4${ARMPKGSFX_THUMB}", "", d)} 
${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "", d)} 
${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", "-mno-thumb-interwork", "-mthumb-interwork", d)} 
${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "-mfloat-abi=hard", "-mfloat-abi=softfp", d), "" ,d)} 
${@bb.utils.contains("TUNE_FEATURES", "xscale", "-mtune=xscale", "", d)} 
to  
${@bb.utils.contains("TUNE_FEATURES", "armv5", "-march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}", "", d)} 
${@bb.utils.contains("TUNE_FEATURES", "armv4", "-march=armv4${ARMPKGSFX_THUMB}", "", d)} 
${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "", d)} 
${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", "-mno-thumb-interwork", "-mthumb-interwork", d)} 
${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "-mfloat-abi=hard", "-mfloat-abi=softfp", d), "" ,d)}
${@bb.utils.contains("TUNE_FEATURES", "arm926ejs", "-mtune=arm926ej-s", "", d)}

That's pity as they are overwritting the same files in feeds:

OE qemuarm at shr ~/shr-core $ ls -lah tmp/deploy/ipk/armv5te/libexpat*
-rw-r--r-- 1 bitbake bitbake 8.3K Nov  3 22:04 tmp/deploy/ipk/armv5te/libexpat-bin_2.0.1-r1_armv5te.ipk
-rw-r--r-- 1 bitbake bitbake 191K Nov  3 22:04 tmp/deploy/ipk/armv5te/libexpat-dbg_2.0.1-r1_armv5te.ipk
-rw-r--r-- 1 bitbake bitbake  13K Nov  3 22:04 tmp/deploy/ipk/armv5te/libexpat-dev_2.0.1-r1_armv5te.ipk
-rw-r--r-- 1 bitbake bitbake 4.4K Nov  3 22:04 tmp/deploy/ipk/armv5te/libexpat-doc_2.0.1-r1_armv5te.ipk
-rw-r--r-- 1 bitbake bitbake 171K Nov  3 22:04 tmp/deploy/ipk/armv5te/libexpat-staticdev_2.0.1-r1_armv5te.ipk
-rw-r--r-- 1 bitbake bitbake  48K Nov  3 22:04 tmp/deploy/ipk/armv5te/libexpat1_2.0.1-r1_armv5te.ipk

So user won't know if the package he downloads was built as qemuarm or qemuarmcopy or spitz..
all he will notice is that md5 sums for ipk files are changing alot.

Cheers,
-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20111103/226e3c9d/attachment-0002.sig>


More information about the Openembedded-core mailing list