All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Robert P. J. Day" <rpjday@crashcourse.ca>
To: OpenEmbedded Development mailing list
	<openembedded-devel@lists.openembedded.org>
Subject: the awkwardness of using core-image.bbclass
Date: Fri, 11 Jul 2014 12:51:54 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LFD.2.11.1407111233360.5222@localhost> (raw)


  some observations/questions on core-image.bbclass, and whether it
can be used more understandably. this is being written from the
perspective of someone who has had the occasional student ask, "why
was it done *that* way?"

  so here's the important part of core-image.bbclass:

CORE_IMAGE_BASE_INSTALL = '\
    packagegroup-core-boot \
    packagegroup-base-extended \
    \
    ${CORE_IMAGE_EXTRA_INSTALL} \
    '

CORE_IMAGE_EXTRA_INSTALL ?= ""

IMAGE_INSTALL ?= "${CORE_IMAGE_BASE_INSTALL}"

inherit image

  whose job is obviously to define the final contents in IMAGE_INSTALL
to be handed off to image.bbclass. so far, so good. but notice first
that while IMAGE_INSTALL and CORE_IMAGE_EXTRA_INSTALL are weakly
assigned, CORE_IMAGE_BASE_INSTALL is *not*, which -- if one is
perusing that file -- strongly suggests that if you're inheriting
from this class file, you really should use that value. but it doesn't
work that way.

  first, here's (the relevant parts of) core-image-base.bb:

IMAGE_FEATURES += "splash"
inherit core-image

  that's perfect -- define an additional feature, then pull in
core-image to take care of the rest. perfectly understandable.

  core-image-minimal.bb is *not* so clean:

IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
inherit core-image

  i consider this recipe file potentially confusing since, although it
inherits core-image, it effectively stomps on the settings in there,
and just rams an overriding value into IMAGE_INSTALL. in short, rather
than "inheriting" cleanly from core-image and extending or enhancing
the recipe, core-image-mimimal simply kicks IMAGE_INSTALL out of the
way and sets its own final value.

  a final issue is, if you define a new core-image variation and
simply want to add some extra packages to it, what's the proper way to
do that? at first glance, i might have just created a new .bb file and
assigned some extra package names to CORE_IMAGE_EXTRA_INSTALL,
wouldn't that work? but the ref manual states quite clearly that you
are supposed to use that variable *only* in your local.conf file? any
reason for that?

  as i read it, the accepted way is to use:

IMAGE_INSTALL += "mtd-utils"

but is there some reason one can't use CORE_IMAGE_EXTRA_INSTALL from
within a recipe file? it seems like that would make recipe files
easier to read.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================


             reply	other threads:[~2014-07-11 16:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-11 16:51 Robert P. J. Day [this message]
2014-07-11 17:56 ` the awkwardness of using core-image.bbclass Rudolf Streif
2014-07-11 22:30   ` Robert P. J. Day
2014-07-12  5:06     ` Khem Raj
2014-07-12  9:53       ` Robert P. J. Day
2014-07-14  9:34 ` Paul Eggleton

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=alpine.LFD.2.11.1407111233360.5222@localhost \
    --to=rpjday@crashcourse.ca \
    --cc=openembedded-devel@lists.openembedded.org \
    /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.