An update:

http://www.rpsys.net/openzaurus/temp/bitbake_multithread-r4.patch is the
current multithreading patch. I merged a few sections of it into bitbake
svn although the bulk of the new code is still in the patch.

The major piece of missing functionality is handling the case where one
provider fails as currently, it doesn't retry with any alternative
providers as bitbake currently does. This is straightforward to add
though.

Its also missing a lot of thread handling code currently hardcoded to
run 5 tasks at once. Again, this is straightforward to improve.

The data that needs to be added to openembedded to make this new code
functional are:

do_configure[deptask] = "do_populate_staging"
do_package[deptask] = "do_package"
do_package[rdeptask] = "do_package"
do_rootfs[recrdeptask] = "do_package"

which express the dependencies I mentioned in my previous email.

I feel we'll need to remove the do_fetch[nostamp] and do_rootfs[nostamp]
options to get full benefit of this code. Removing do_fetch[nostamp]
should not cause a problem but do_rootfs[nostamp] does. The issue is
that currently, it will run do_rootfs for the do_rootfs task, then run
it again for the image's do_build task.

I was wondering about setting PR = "${DATE}-${TIME}" for images but PR
becomes hardcoded in the cache and won't update as intended over new
bitbake runs. I had hoped to get away with do_build[nostamp] to work
around that but that means the rootfs is seen as having run by the
bitbake dependency code and therefore the do_rootfs dependencies don't
run. I'll continue to work on this and try to find a solution.

Richard

_______________________________________________
Oe mailing list
Oe@handhelds.org
https://www.handhelds.org/mailman/listinfo/oe

Reply via email to