[OE-core] why are native kern tools both generated and on the meta branch?

Bruce Ashfield bruce.ashfield at gmail.com
Mon Jul 16 12:45:24 UTC 2012


On Mon, Jul 16, 2012 at 7:15 AM, Robert P. J. Day <rpjday at crashcourse.ca> wrote:
>
>   side note: for the next little while, for pedagogical reasons, i'm
> stepping through each phase of the OE kernel build process and
> documenting what happens and what gets generated at each step, as in:
>
>   $ bitbake -c fetch linux-yocto
>   $ bitbake -c unpack linux-yocto
>   $ bitbake -c kernel_checkout linux-yocto
>   $ bitbake -c validate_branches linux-yocto
>   $ bitbake -c patch linux-yocto
>   ... etc etc ...
>
> so, yes, upcoming questions will almost certainly be as pedantic as
> ever.  you've been warned. :-P
>
>   at this point, i've done the validate_branches step and am about to
> do the patch, and i notice from linux-yocto.inc:
>
>   do_patch[depends] = "kern-tools-native:do_populate_sysroot"
>
> ok, i can accept that, and performing the patch should first build
> and install the native kern-tools in my x86_64 sysroots directory ,
> which i'm pretty sure is on my PATH so the new utilities like
> createme, updateme, configme and so on will be available for the
> subsequent do_patch() step.  so far, so good.
>
>   but in the do_patch() routine itself, we have:
>
> =====
>
> do_patch() {
>         cd ${S}
>
>         # if kernel tools are available in-tree, they are preferred
>         # and are placed on the path before any external tools. Unless
>         # the external tools flag is set, in that case we do nothing.
>         if [ -f "${S}/scripts/util/configme" ]; then
>                 if [ -z "${EXTERNAL_KERNEL_TOOLS}" ]; then
>                         PATH=${S}/scripts/util:${PATH}
>                 fi
>         fi
>
>         kbranch=${KBRANCH}
>
>         # if we have a defined/set meta branch we should not be generating
>         # any meta data. The passed branch has what we need.
>         if [ -n "${KMETA}" ]; then
>                 createme_flags="--disable-meta-gen"
>         fi
>         createme ${createme_flags} ${ARCH} ${kbranch}
>         ... snip ...
>
> =====
>
> in my case, i have a meta branch which just happens to include a
> scripts/ directory containing what appears to be all of those
> kern-tools.

Those are the tools that were captured at the time the tree was first
constructed .. they are a reference.

>
>   is there a reason for that duplication?  as i read it (and i could
> be confused), the do_patch() generates and installs the necessary
> native kern-tools, even as my meta branch (which is not checked out
> yet) already contains all of those tools.  should i care?

git history of that line will tell you the story .. it is there as a transition
from an out of tree set of tools, to a set of tools that are within
the tree itself.
That work is still on the schedule for 1.3, but it actually complicates the
tree maintenance (SRCREV updates for all branches for tools updates) and
it gets entangled with merge_config.pl updates .. all that an two repositories
need to stay in sync.

As such, it is always a bubble feature that gets shoved out, but the parts
that are present are just the beginning of that work.

Cheers,

Bruce


>
> rday
>
> --
>
> ========================================================================
> Robert P. J. Day                                 Ottawa, Ontario, CANADA
>                         http://crashcourse.ca
>
> Twitter:                                       http://twitter.com/rpjday
> LinkedIn:                               http://ca.linkedin.com/in/rpjday
> ========================================================================
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"




More information about the Openembedded-core mailing list