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

2011-11-04 Thread Martin Jansa
On Thu, Nov 03, 2011 at 11:08:37PM +0100, Martin Jansa wrote:
 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.

This is also related to older thread about sstate
http://lists.linuxtogo.org/pipermail/openembedded-core/2011-May/003308.html

I'm going to try
BB_SIGNATURE_HANDLER = basichash
as it's supposed to become default anyway IIRC.

Regards,

 
 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@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@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@shr ~/shr-core $ cp 
 openembedded-core/meta/conf/machine/qemuarm.conf 
 openembedded-core/meta/conf/machine/qemuarmcopy.conf
 OE qemuarmB@shr ~/shr-core $ export MACHINE=qemuarmcopy
 OE qemuarmcopy@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@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@shr ~/shr-core $ export MACHINE=qemuarm
 OE qemuarm@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@shr ~/shr-core $ export MACHINE=qemuarmcopy
 OE qemuarmcopy@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@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 

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

2011-11-03 Thread Martin Jansa
On Mon, Oct 10, 2011 at 03:17:51PM +0100, Richard Purdie wrote:
 On Mon, 2011-10-10 at 13:45 +0200, Martin Jansa wrote:
  On Sun, Oct 09, 2011 at 08:11:45PM +0200, Koen Kooi wrote:
   
   Op 9 okt. 2011, om 20:10 heeft Martin Jansa het volgende geschreven:
   
On Sun, Oct 09, 2011 at 01:25:09PM +0200, Koen Kooi wrote:

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

Same here.. :/ (building 3 armv7 machines.. always from scratch).
   
   To eliminate varables: Angstrom/shr/aurora/micro/other/all of the above?
  
  DISTRO=shr
  
  MACHINE=nokia900 bitbake shr-image - builds from scratch, finished ok
  MACHINE=palmpre bitbake shr-image - builds from scratch, finished ok
  MACHINE=palmpre2 bitbake shr-image - builds from scratch, finished ok
  
  without wiping anything (same tmp, same sstate-cache, same pseudodone)
  
  MACHINE=palmpre bitbake shr-image - builds from scratch, again!, finished 
  ok
  MACHINE=palmpre2 bitbake shr-image - builds from scratch, again!, finished 
  ok
  MACHINE=nokia900 bitbake shr-image - builds from scratch, again!, finished 
  ok
  
  palmpre and palmpre2 are the same
  $ cat meta-smartphone/meta-palm/conf/machine/palmpre.conf | grep -v ^#
  require conf/machine/include/palmpre.inc
  
  $ cat meta-smartphone/meta-palm/conf/machine/palmpre2.conf | grep -v ^#
  require conf/machine/include/palmpre.inc
  
  nokia900 is also armv7a-vfp-neon (that's why all packages except
  MACHINE_ARCH were always reused without rebuilding in OE-classic).
  
  I have tried to debug sigdata files to see why and also tried to add
  MACHINEOVERRIDES[vardepsexclude] = MACHINE
  as RP suggested, but sofar haven't found solution at least to reuse
  already built sstate packages for armv7a-vfp-neon.
 
 I've posted a patch which at least locally solves the issue with the cp
 MACHINEA MACHINEB. If there are more issues I'd be interested, see my
 separate email with some debugging tips.

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?

-- 
Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com


signature.asc
Description: Digital signature
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


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

2011-11-03 Thread Martin Jansa
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@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@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@shr ~/shr-core $ cp 
openembedded-core/meta/conf/machine/qemuarm.conf 
openembedded-core/meta/conf/machine/qemuarmcopy.conf
OE qemuarmB@shr ~/shr-core $ export MACHINE=qemuarmcopy
OE qemuarmcopy@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@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@shr ~/shr-core $ export MACHINE=qemuarm
OE qemuarm@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@shr ~/shr-core $ export MACHINE=qemuarmcopy
OE qemuarmcopy@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@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@shr ~/shr-core/sstate-cache $ ls -la1 

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

2011-10-10 Thread Martin Jansa
On Sun, Oct 09, 2011 at 08:11:45PM +0200, Koen Kooi wrote:
 
 Op 9 okt. 2011, om 20:10 heeft Martin Jansa het volgende geschreven:
 
  On Sun, Oct 09, 2011 at 01:25:09PM +0200, Koen Kooi wrote:
  
  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
  
  Same here.. :/ (building 3 armv7 machines.. always from scratch).
 
 To eliminate varables: Angstrom/shr/aurora/micro/other/all of the above?

DISTRO=shr

MACHINE=nokia900 bitbake shr-image - builds from scratch, finished ok
MACHINE=palmpre bitbake shr-image - builds from scratch, finished ok
MACHINE=palmpre2 bitbake shr-image - builds from scratch, finished ok

without wiping anything (same tmp, same sstate-cache, same pseudodone)

MACHINE=palmpre bitbake shr-image - builds from scratch, again!, finished ok
MACHINE=palmpre2 bitbake shr-image - builds from scratch, again!, finished ok
MACHINE=nokia900 bitbake shr-image - builds from scratch, again!, finished ok

palmpre and palmpre2 are the same
$ cat meta-smartphone/meta-palm/conf/machine/palmpre.conf | grep -v ^#
require conf/machine/include/palmpre.inc

$ cat meta-smartphone/meta-palm/conf/machine/palmpre2.conf | grep -v ^#
require conf/machine/include/palmpre.inc

nokia900 is also armv7a-vfp-neon (that's why all packages except
MACHINE_ARCH were always reused without rebuilding in OE-classic).

I have tried to debug sigdata files to see why and also tried to add
MACHINEOVERRIDES[vardepsexclude] = MACHINE
as RP suggested, but sofar haven't found solution at least to reuse
already built sstate packages for armv7a-vfp-neon.

Regards,

-- 
Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com


signature.asc
Description: Digital signature
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


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

2011-10-10 Thread Richard Purdie
On Mon, 2011-10-10 at 13:45 +0200, Martin Jansa wrote:
 On Sun, Oct 09, 2011 at 08:11:45PM +0200, Koen Kooi wrote:
  
  Op 9 okt. 2011, om 20:10 heeft Martin Jansa het volgende geschreven:
  
   On Sun, Oct 09, 2011 at 01:25:09PM +0200, Koen Kooi wrote:
   
   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
   
   Same here.. :/ (building 3 armv7 machines.. always from scratch).
  
  To eliminate varables: Angstrom/shr/aurora/micro/other/all of the above?
 
 DISTRO=shr
 
 MACHINE=nokia900 bitbake shr-image - builds from scratch, finished ok
 MACHINE=palmpre bitbake shr-image - builds from scratch, finished ok
 MACHINE=palmpre2 bitbake shr-image - builds from scratch, finished ok
 
 without wiping anything (same tmp, same sstate-cache, same pseudodone)
 
 MACHINE=palmpre bitbake shr-image - builds from scratch, again!, finished ok
 MACHINE=palmpre2 bitbake shr-image - builds from scratch, again!, finished ok
 MACHINE=nokia900 bitbake shr-image - builds from scratch, again!, finished ok
 
 palmpre and palmpre2 are the same
 $ cat meta-smartphone/meta-palm/conf/machine/palmpre.conf | grep -v ^#
 require conf/machine/include/palmpre.inc
 
 $ cat meta-smartphone/meta-palm/conf/machine/palmpre2.conf | grep -v ^#
 require conf/machine/include/palmpre.inc
 
 nokia900 is also armv7a-vfp-neon (that's why all packages except
 MACHINE_ARCH were always reused without rebuilding in OE-classic).
 
 I have tried to debug sigdata files to see why and also tried to add
 MACHINEOVERRIDES[vardepsexclude] = MACHINE
 as RP suggested, but sofar haven't found solution at least to reuse
 already built sstate packages for armv7a-vfp-neon.

Also as a tip for debugging this, you can do what is in the following
commit (patch also inline below):

http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/wip9id=1261cc69b152f33b934c2448020dfa3c95f312c6

which will mean bitbake -n generates stamp files for a given bitbake
run. You can then quickly do:

MACHINE=A bitbake -n foo
MACHINE=B bitbake -n foo

for example and then look for cases where two stamp sigdata files were
generated. If you see them you can bitbake-diffsigs A B and I'll be
very interested in the results of that and bitbake-diffsigs A...

Cheers,

Richard

bitbake: Allow easier dry run stamp debugging

Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
---
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 8937f08..efa9ffe 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -255,7 +255,7 @@ def _task_data(fn, task, d):
 data.expandKeys(localdata)
 return localdata
 
-def _exec_task(fn, task, d, quieterr):
+def _exec_task(fn, task, d, quieterr, dryrun=False):
 Execute a BB 'task'
 
 Execution of a task involves a bit more setup than executing a function,
@@ -317,10 +317,13 @@ def _exec_task(fn, task, d, quieterr):
 event.fire(TaskStarted(task, localdata), localdata)
 try:
 for func in (prefuncs or '').split():
-exec_func(func, localdata)
-exec_func(task, localdata)
+if not dryrun:
+exec_func(func, localdata)
+if not dryrun:
+exec_func(task, localdata)
 for func in (postfuncs or '').split():
-exec_func(func, localdata)
+if not dryrun:
+exec_func(func, localdata)
 except FuncFailed as exc:
 if not quieterr:
 logger.error(str(exc))
@@ -355,13 +358,13 @@ def _exec_task(fn, task, d, quieterr):
 
 return 0
 
-def exec_task(fn, task, d):
+def exec_task(fn, task, d, dryrun=False):
 try: 
 quieterr = False
 if d.getVarFlag(task, quieterrors) is not None:
 quieterr = True
 
-return _exec_task(fn, task, d, quieterr)
+return _exec_task(fn, task, d, quieterr, dryrun)
 except Exception:
 from traceback import format_exc
 if not quieterr:
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index aca06b5..e53da56 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1156,8 +1156,7 @@ class RunQueueExecute:
 logger.critical(str(exc))
 os._exit(1)
 try:
-if not 

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

2011-10-10 Thread Richard Purdie
On Mon, 2011-10-10 at 13:45 +0200, Martin Jansa wrote:
 On Sun, Oct 09, 2011 at 08:11:45PM +0200, Koen Kooi wrote:
  
  Op 9 okt. 2011, om 20:10 heeft Martin Jansa het volgende geschreven:
  
   On Sun, Oct 09, 2011 at 01:25:09PM +0200, Koen Kooi wrote:
   
   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
   
   Same here.. :/ (building 3 armv7 machines.. always from scratch).
  
  To eliminate varables: Angstrom/shr/aurora/micro/other/all of the above?
 
 DISTRO=shr
 
 MACHINE=nokia900 bitbake shr-image - builds from scratch, finished ok
 MACHINE=palmpre bitbake shr-image - builds from scratch, finished ok
 MACHINE=palmpre2 bitbake shr-image - builds from scratch, finished ok
 
 without wiping anything (same tmp, same sstate-cache, same pseudodone)
 
 MACHINE=palmpre bitbake shr-image - builds from scratch, again!, finished ok
 MACHINE=palmpre2 bitbake shr-image - builds from scratch, again!, finished ok
 MACHINE=nokia900 bitbake shr-image - builds from scratch, again!, finished ok
 
 palmpre and palmpre2 are the same
 $ cat meta-smartphone/meta-palm/conf/machine/palmpre.conf | grep -v ^#
 require conf/machine/include/palmpre.inc
 
 $ cat meta-smartphone/meta-palm/conf/machine/palmpre2.conf | grep -v ^#
 require conf/machine/include/palmpre.inc
 
 nokia900 is also armv7a-vfp-neon (that's why all packages except
 MACHINE_ARCH were always reused without rebuilding in OE-classic).
 
 I have tried to debug sigdata files to see why and also tried to add
 MACHINEOVERRIDES[vardepsexclude] = MACHINE
 as RP suggested, but sofar haven't found solution at least to reuse
 already built sstate packages for armv7a-vfp-neon.

I've posted a patch which at least locally solves the issue with the cp
MACHINEA MACHINEB. If there are more issues I'd be interested, see my
separate email with some debugging tips.

Cheers,

Richard



___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


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

2011-10-10 Thread Koen Kooi

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

 On Mon, 2011-10-10 at 13:45 +0200, Martin Jansa wrote:
 On Sun, Oct 09, 2011 at 08:11:45PM +0200, Koen Kooi wrote:
 
 Op 9 okt. 2011, om 20:10 heeft Martin Jansa het volgende geschreven:
 
 On Sun, Oct 09, 2011 at 01:25:09PM +0200, Koen Kooi wrote:
 
 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
 
 Same here.. :/ (building 3 armv7 machines.. always from scratch).
 
 To eliminate varables: Angstrom/shr/aurora/micro/other/all of the above?
 
 DISTRO=shr
 
 MACHINE=nokia900 bitbake shr-image - builds from scratch, finished ok
 MACHINE=palmpre bitbake shr-image - builds from scratch, finished ok
 MACHINE=palmpre2 bitbake shr-image - builds from scratch, finished ok
 
 without wiping anything (same tmp, same sstate-cache, same pseudodone)
 
 MACHINE=palmpre bitbake shr-image - builds from scratch, again!, finished ok
 MACHINE=palmpre2 bitbake shr-image - builds from scratch, again!, finished 
 ok
 MACHINE=nokia900 bitbake shr-image - builds from scratch, again!, finished 
 ok
 
 palmpre and palmpre2 are the same
 $ cat meta-smartphone/meta-palm/conf/machine/palmpre.conf | grep -v ^#
 require conf/machine/include/palmpre.inc
 
 $ cat meta-smartphone/meta-palm/conf/machine/palmpre2.conf | grep -v ^#
 require conf/machine/include/palmpre.inc
 
 nokia900 is also armv7a-vfp-neon (that's why all packages except
 MACHINE_ARCH were always reused without rebuilding in OE-classic).
 
 I have tried to debug sigdata files to see why and also tried to add
 MACHINEOVERRIDES[vardepsexclude] = MACHINE
 as RP suggested, but sofar haven't found solution at least to reuse
 already built sstate packages for armv7a-vfp-neon.
 
 Also as a tip for debugging this, you can do what is in the following
 commit (patch also inline below):
 
 http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/wip9id=1261cc69b152f33b934c2448020dfa3c95f312c6
 
 which will mean bitbake -n generates stamp files for a given bitbake
 run. You can then quickly do:
 
 MACHINE=A bitbake -n foo
 MACHINE=B bitbake -n foo
 
 for example and then look for cases where two stamp sigdata files were
 generated. If you see them you can bitbake-diffsigs A B and I'll be
 very interested in the results of that and bitbake-diffsigs A...
 
 Cheers,
 
 Richard
 
 bitbake: Allow easier dry run stamp debugging
 
 Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
 ---
 diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py

This seems to be against poky instead of bitbake and doesn't apply against 
bitbake master:

koen@dominion:/OE/tentacle/sources/bitbake$ patch -p2  dry 
patching file lib/bb/build.py
Hunk #1 succeeded at 257 (offset 2 lines).
Hunk #2 succeeded at 319 (offset 2 lines).
Hunk #3 succeeded at 360 (offset 2 lines).
patching file lib/bb/runqueue.py
Hunk #1 FAILED at 1156.
1 out of 1 hunk FAILED -- saving rejects to file lib/bb/runqueue.py.rej


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


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

2011-10-10 Thread Martin Jansa
On Mon, Oct 10, 2011 at 04:37:51PM +0200, Koen Kooi wrote:
 
 Op 10 okt. 2011, om 16:16 heeft Richard Purdie het volgende geschreven:
 
  On Mon, 2011-10-10 at 13:45 +0200, Martin Jansa wrote:
  On Sun, Oct 09, 2011 at 08:11:45PM +0200, Koen Kooi wrote:
  
  Op 9 okt. 2011, om 20:10 heeft Martin Jansa het volgende geschreven:
  
  On Sun, Oct 09, 2011 at 01:25:09PM +0200, Koen Kooi wrote:
  
  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
  
  Same here.. :/ (building 3 armv7 machines.. always from scratch).
  
  To eliminate varables: Angstrom/shr/aurora/micro/other/all of the above?
  
  DISTRO=shr
  
  MACHINE=nokia900 bitbake shr-image - builds from scratch, finished ok
  MACHINE=palmpre bitbake shr-image - builds from scratch, finished ok
  MACHINE=palmpre2 bitbake shr-image - builds from scratch, finished ok
  
  without wiping anything (same tmp, same sstate-cache, same pseudodone)
  
  MACHINE=palmpre bitbake shr-image - builds from scratch, again!, finished 
  ok
  MACHINE=palmpre2 bitbake shr-image - builds from scratch, again!, 
  finished ok
  MACHINE=nokia900 bitbake shr-image - builds from scratch, again!, 
  finished ok
  
  palmpre and palmpre2 are the same
  $ cat meta-smartphone/meta-palm/conf/machine/palmpre.conf | grep -v ^#
  require conf/machine/include/palmpre.inc
  
  $ cat meta-smartphone/meta-palm/conf/machine/palmpre2.conf | grep -v ^#
  require conf/machine/include/palmpre.inc
  
  nokia900 is also armv7a-vfp-neon (that's why all packages except
  MACHINE_ARCH were always reused without rebuilding in OE-classic).
  
  I have tried to debug sigdata files to see why and also tried to add
  MACHINEOVERRIDES[vardepsexclude] = MACHINE
  as RP suggested, but sofar haven't found solution at least to reuse
  already built sstate packages for armv7a-vfp-neon.
  
  Also as a tip for debugging this, you can do what is in the following
  commit (patch also inline below):
  
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/wip9id=1261cc69b152f33b934c2448020dfa3c95f312c6
  
  which will mean bitbake -n generates stamp files for a given bitbake
  run. You can then quickly do:
  
  MACHINE=A bitbake -n foo
  MACHINE=B bitbake -n foo
  
  for example and then look for cases where two stamp sigdata files were
  generated. If you see them you can bitbake-diffsigs A B and I'll be
  very interested in the results of that and bitbake-diffsigs A...
  
  Cheers,
  
  Richard
  
  bitbake: Allow easier dry run stamp debugging
  
  Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
  ---
  diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
 
 This seems to be against poky instead of bitbake and doesn't apply against 
 bitbake master:
 
 koen@dominion:/OE/tentacle/sources/bitbake$ patch -p2  dry 
 patching file lib/bb/build.py
 Hunk #1 succeeded at 257 (offset 2 lines).
 Hunk #2 succeeded at 319 (offset 2 lines).
 Hunk #3 succeeded at 360 (offset 2 lines).
 patching file lib/bb/runqueue.py
 Hunk #1 FAILED at 1156.
 1 out of 1 hunk FAILED -- saving rejects to file lib/bb/runqueue.py.rej

Same problem here.. seems like diff is bigger then it was before:
both current master

OE @ ~/projects $ diff -rq poky/bitbake/ bitbake/ | grep -v pyc | grep -v pyo | 
grep -v .git
Only in bitbake/: MANIFEST.in
Only in bitbake/: TODO
Only in poky/bitbake/bin: bitbake-runtask
Only in bitbake/: classes
Only in bitbake/: conf
Files poky/bitbake/lib/bb/__init__.py and bitbake/lib/bb/__init__.py differ
Files poky/bitbake/lib/bb/build.py and bitbake/lib/bb/build.py differ
Files poky/bitbake/lib/bb/cooker.py and bitbake/lib/bb/cooker.py differ
Files poky/bitbake/lib/bb/parse/parse_py/BBHandler.py and 
bitbake/lib/bb/parse/parse_py/BBHandler.py differ
Files poky/bitbake/lib/bb/pysh/pyshtables.py and 
bitbake/lib/bb/pysh/pyshtables.py differ
Files poky/bitbake/lib/bb/runqueue.py and bitbake/lib/bb/runqueue.py differ
Only in poky/bitbake/lib/bb: shell.py
Only in bitbake/: setup.py

-- 
Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com


signature.asc
Description: Digital signature
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org

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

2011-10-10 Thread Richard Purdie
On Mon, 2011-10-10 at 16:41 +0200, Martin Jansa wrote:
 On Mon, Oct 10, 2011 at 04:37:51PM +0200, Koen Kooi wrote:
  
  Op 10 okt. 2011, om 16:16 heeft Richard Purdie het volgende geschreven:
  
   On Mon, 2011-10-10 at 13:45 +0200, Martin Jansa wrote:
   On Sun, Oct 09, 2011 at 08:11:45PM +0200, Koen Kooi wrote:
   
   Op 9 okt. 2011, om 20:10 heeft Martin Jansa het volgende geschreven:
   
   On Sun, Oct 09, 2011 at 01:25:09PM +0200, Koen Kooi wrote:
   
   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
   
   Same here.. :/ (building 3 armv7 machines.. always from scratch).
   
   To eliminate varables: Angstrom/shr/aurora/micro/other/all of the above?
   
   DISTRO=shr
   
   MACHINE=nokia900 bitbake shr-image - builds from scratch, finished ok
   MACHINE=palmpre bitbake shr-image - builds from scratch, finished ok
   MACHINE=palmpre2 bitbake shr-image - builds from scratch, finished ok
   
   without wiping anything (same tmp, same sstate-cache, same pseudodone)
   
   MACHINE=palmpre bitbake shr-image - builds from scratch, again!, 
   finished ok
   MACHINE=palmpre2 bitbake shr-image - builds from scratch, again!, 
   finished ok
   MACHINE=nokia900 bitbake shr-image - builds from scratch, again!, 
   finished ok
   
   palmpre and palmpre2 are the same
   $ cat meta-smartphone/meta-palm/conf/machine/palmpre.conf | grep -v ^#
   require conf/machine/include/palmpre.inc
   
   $ cat meta-smartphone/meta-palm/conf/machine/palmpre2.conf | grep -v ^#
   require conf/machine/include/palmpre.inc
   
   nokia900 is also armv7a-vfp-neon (that's why all packages except
   MACHINE_ARCH were always reused without rebuilding in OE-classic).
   
   I have tried to debug sigdata files to see why and also tried to add
   MACHINEOVERRIDES[vardepsexclude] = MACHINE
   as RP suggested, but sofar haven't found solution at least to reuse
   already built sstate packages for armv7a-vfp-neon.
   
   Also as a tip for debugging this, you can do what is in the following
   commit (patch also inline below):
   
   http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/wip9id=1261cc69b152f33b934c2448020dfa3c95f312c6
   
   which will mean bitbake -n generates stamp files for a given bitbake
   run. You can then quickly do:
   
   MACHINE=A bitbake -n foo
   MACHINE=B bitbake -n foo
   
   for example and then look for cases where two stamp sigdata files were
   generated. If you see them you can bitbake-diffsigs A B and I'll be
   very interested in the results of that and bitbake-diffsigs A...
   
   Cheers,
   
   Richard
   
   bitbake: Allow easier dry run stamp debugging
   
   Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
   ---
   diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
  
  This seems to be against poky instead of bitbake and doesn't apply against 
  bitbake master:
  
  koen@dominion:/OE/tentacle/sources/bitbake$ patch -p2  dry 
  patching file lib/bb/build.py
  Hunk #1 succeeded at 257 (offset 2 lines).
  Hunk #2 succeeded at 319 (offset 2 lines).
  Hunk #3 succeeded at 360 (offset 2 lines).
  patching file lib/bb/runqueue.py
  Hunk #1 FAILED at 1156.
  1 out of 1 hunk FAILED -- saving rejects to file lib/bb/runqueue.py.rej
 
 Same problem here.. seems like diff is bigger then it was before:
 both current master
 
 OE @ ~/projects $ diff -rq poky/bitbake/ bitbake/ | grep -v pyc | grep -v pyo 
 | grep -v .git
 Only in bitbake/: MANIFEST.in
 Only in bitbake/: TODO
 Only in bitbake/: classes
 Only in bitbake/: conf
Only in bitbake/: setup.py

These are deliberate and don't make sense in poky.

Only in poky/bitbake/bin: bitbake-runtask
Files poky/bitbake/lib/bb/cooker.py and bitbake/lib/bb/cooker.py differ

These are related and I need to get this fixed, there is an open bug
about this.

 Files poky/bitbake/lib/bb/__init__.py and bitbake/lib/bb/__init__.py differ

Not showing up here for me...

 Files poky/bitbake/lib/bb/parse/parse_py/BBHandler.py and 
 bitbake/lib/bb/parse/parse_py/BBHandler.py differ

This is whitespace only.

 Files poky/bitbake/lib/bb/pysh/pyshtables.py and 
 bitbake/lib/bb/pysh/pyshtables.py differ

This is a generated file and in neither repository.

 Only in poky/bitbake/lib/bb: shell.py

This is a 

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

2011-10-09 Thread Koen Kooi

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, 

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

2011-10-09 Thread Martin Jansa
On Sun, Oct 09, 2011 at 01:25:09PM +0200, Koen Kooi wrote:
 
 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

Same here.. :/ (building 3 armv7 machines.. always from scratch).

 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: 

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

2011-10-09 Thread Koen Kooi

Op 9 okt. 2011, om 20:10 heeft Martin Jansa het volgende geschreven:

 On Sun, Oct 09, 2011 at 01:25:09PM +0200, Koen Kooi wrote:
 
 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
 
 Same here.. :/ (building 3 armv7 machines.. always from scratch).

To eliminate varables: Angstrom/shr/aurora/micro/other/all of the above?

 
 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: 

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

2011-10-06 Thread Richard Purdie
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.

Based on a patch from Phil Blundell ph...@gnu.org with some tweaks
from me.

Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
---
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index eee04ab..6abf55b 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -259,10 +259,15 @@ def sstate_clean(ss, d):
 bb.utils.unlockfile(lock)
 
 stfile = d.getVar(STAMP, True) + .do_ + ss['task']
+extrainf = d.getVarFlag(do_ + ss['task'], 'stamp-extra-info')
 oe.path.remove(stfile)
 oe.path.remove(stfile + _setscene)
-oe.path.remove(stfile + .*)
-oe.path.remove(stfile + _setscene + .*)
+if extrainf:
+oe.path.remove(stfile + .* + extrainf)
+oe.path.remove(stfile + _setscene + .* + extrainf)
+else:
+oe.path.remove(stfile + .*)
+oe.path.remove(stfile + _setscene + .*)
 
 CLEANFUNCS += sstate_cleanall
 



___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


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

2011-10-06 Thread Koen Kooi
let's get this in before my buildserver melts a hole in the floor :)

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.
 
 Based on a patch from Phil Blundell ph...@gnu.org with some tweaks
 from me.
 
 Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
 ---
 diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
 index eee04ab..6abf55b 100644
 --- a/meta/classes/sstate.bbclass
 +++ b/meta/classes/sstate.bbclass
 @@ -259,10 +259,15 @@ def sstate_clean(ss, d):
 bb.utils.unlockfile(lock)
 
 stfile = d.getVar(STAMP, True) + .do_ + ss['task']
 +extrainf = d.getVarFlag(do_ + ss['task'], 'stamp-extra-info')
 oe.path.remove(stfile)
 oe.path.remove(stfile + _setscene)
 -oe.path.remove(stfile + .*)
 -oe.path.remove(stfile + _setscene + .*)
 +if extrainf:
 +oe.path.remove(stfile + .* + extrainf)
 +oe.path.remove(stfile + _setscene + .* + extrainf)
 +else:
 +oe.path.remove(stfile + .*)
 +oe.path.remove(stfile + _setscene + .*)
 
 CLEANFUNCS += sstate_cleanall
 
 
 
 
 ___
 Openembedded-core mailing list
 Openembedded-core@lists.openembedded.org
 http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core