All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Gross <markgross@thegnar.org>
To: Richard Purdie <rpurdie@rpsys.net>
Cc: openembedded-devel@openembedded.org
Subject: Re: bitbake and OE opperation
Date: Fri, 23 Mar 2007 06:09:41 -0700	[thread overview]
Message-ID: <20070323130941.GA12609@thegnar.org> (raw)
In-Reply-To: <1174641616.5813.9.camel@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 4133 bytes --]

On Fri, Mar 23, 2007 at 09:20:15AM +0000, Richard Purdie wrote:
> On Thu, 2007-03-22 at 21:31 -0700, Mark Gross wrote:
> > On Thu, Mar 22, 2007 at 02:34:45PM +0000, Richard Purdie wrote:
> > Yup, I read it.  I still have questions (I've figured out a number of
> > things since I posted this email.) Like, what triggers a given bbclass
> > file to be parsed, and what determines when if the functions withing the
> > class definition are executed.  I think I "get" the tasks and bb files
> > but the classes are still a bit mysterious.
> 
> To trigger the inclusion of autotools.bbclass, you'd see "inherit
> autotools". Each .bb file has an assumed "inherit base". Also, conf
> files can add a class file for inclusion with IHHERIT = "xyz".
> 

Ah, I'll take a closer look at base.


> > Mostly I was looking for the starting point in the dynamical program
> > space that the represent the dependency tree within the OE recipe
> > trees.  I think I get this.
> > 
> > BB parses all the bb files which build up a network of dependencies that
> > is then traversed based on a seed point defined by the command line.
> 
> Or seed points as it can have more than one, but yes.
> 
> > > > How does bitbake push in the ./configure command line options?
> > > 
> > > Bitbake knows nothing about this, it just knows about a list of tasks.
> > > autotools.bbclass defines a do_configure task which knows how to pass
> > > options set in an EXTRA_OECONF variable to a configure commandline. The
> > > classes are a powerful abstraction feature but are part of OE, not
> > > bitbake.
> > 
> > How is autotools.bbclass identified to be parsed?
> 
> See above.
> 
> > What triggers do_configure to be executed and when?
> 
> Read base.bbclass. It sets up a number of tasks and a default task,
> "build". You'd add configure after patch, before compile. compile would
> be before build. "bitbake somefile" would cause the default task (and
> its dependent tasks) to be executed. You could also do "bitbake somefile
> -c configure" to specifically execute the configure task.

Ok.

> 
> > What do I need to hack if I want to change the way or when they are
> > called?
> > There has to be some initial entry points for the classes.
> 
> An assumed inherit base, then inheriting other classes like autotools
> which can change things. The order of the inherits matters.
> 
> > Are there a set of pre-defined class functions that will be called or
> > does some bb file reference the class member functions?  (I haven't found
> > them referenced in the bb files I looked at, and it makes me think there
> > is some meta knowledge in the bitbake code that expects to call things
> > like do_configure, or do_patch, or do_build, but I'm having a hard time
> > finding them.
> > 
> > basically I'm trying to understand the glue that holds everything
> > together.  I'm staring to feel dangerous at hacking the OK bb tasks but
> > I'm still lost on the classes.
> 
> Hopefully I've covered this above.
> 
> > Dependency trees, configuration tweaking, the export of a minimal tree
> > of bbfiles for a specific build, a build browsing tool for exploring the
> > OE dependency cloud, for providers-bb files, classes and config files.
> 
> You might fine bitbake -g interesting, particularly in trunk. It will
> dump a number of dependency graph files.

I forgot that one.  I found that the class dependencies aren't
represented in the graph.  It seems to be just the providers(?) / bb files.

> 
> bitbake -DDD (enabling a ton of debugging) will also show you which
> files it touches and why.
>


I'll give this a spin!


> > Its taken me a long time figure out all the OE files that effect the
> > build of my image.  It be nice to make things easier for folks that come
> > after me to do the same type of thing....
> 
> Help with the documentation is more than welcome!

That is my intention, at least to start with.

Something of a draft will be coming in a few weekends, as this all sinks
in a bit more.

Thanks so much for your help!

--mgross


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2007-03-23 13:09 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-20  3:31 bitbake and OE opperation Mark Gross
2007-03-22 14:34 ` Richard Purdie
2007-03-22 18:37   ` Lee Studley
2007-03-22 18:43     ` Lee Studley
2007-03-23  4:31   ` Mark Gross
2007-03-23  9:20     ` Richard Purdie
2007-03-23 13:09       ` Mark Gross [this message]
2007-03-28 17:54       ` Tim Bird
2007-03-28 19:15         ` Richard Purdie
2007-03-28 20:10           ` Tim Bird
2007-03-28 20:19             ` Koen Kooi
2007-03-28 21:12             ` Philip Balister
2007-03-28 21:34             ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070323130941.GA12609@thegnar.org \
    --to=markgross@thegnar.org \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=openembedded-devel@openembedded.org \
    --cc=rpurdie@rpsys.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.