[oe] Examples of srctree and gitver
clarson at kergoth.com
Tue Jun 1 16:33:11 CEST 2010
On Tue, Jun 1, 2010 at 6:36 AM, Michael Smith <msmith at cbnco.com> wrote:
> Ambrose, Martin wrote:
>> On Sun, May 30, 2010 at 14:49:32, Chris Larson wrote:
>>> Aside: the way it does so is quite the hack, we need to figure out
>>> a better way to manipulate the task graph like this.
>> Maybe that explains the problem I'm seeing with the dependency graph when
>> using srctree.
> Then it goes straight to the configure phase without ensuring the
>> dependencies are present.
> Yes, I see similar things. I'm still on an ancient tree with
> do_populate_staging(). If memory serves, the prerequisite packages are
> unpacked, compiled and installed, but do_stage isn't run before the srctree
> recipe's do_configure.
> As long as you're not doing parallel builds it's easy enough to work
> around: just put the libraries you need in your IMAGE_INSTALL before the
> srctree packages.
I'll look into this today. The class may need adjusting for the new staging
stuff, and some of what it does can be undone entirely in certain cases.
1) empties SRC_URI, sets S to FILE_DIRNAME
2) inherits 'clean' to set up a different default clean method and pull in
3) removes do_patch and its deps from the task graph entirely
4) merges operations above patch, up to install & stage
4) is the particularly ugly bit, and is only necessary due to the recipe not
using a separate build vs source dir. The issue is variants, bbclassextend,
etc, from what I can recall. You can't risk an interleaving of the
configure/compile/install tasks between the recipes that share the same
source tree. A per task lockfile is insufficient, as it's released between
the tasks. I'll see about adding a flag to control this behavior, and also
automatically disable it when a separate build dir is used (B variable), and
will see if it can be done in a better way, unless someone else gets to it
before me :)
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
More information about the Openembedded-devel