All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: Brian Karcz <briank@russound.com>
Cc: yocto@yoctoproject.org
Subject: Re: Image recipes in Yocto 1.4 (dylan-9.0.0)
Date: Thu, 01 Aug 2013 15:27:17 +0100	[thread overview]
Message-ID: <2224533.7EszYEDFKv@helios> (raw)
In-Reply-To: <5b0db42f24db43c9a5ac1348d1dee721@HERMES.RUSSOUND.com>

On Thursday 01 August 2013 14:00:24 Brian Karcz wrote:
> I'll keep the do_rootfs dependency adjustment for the main image on ready.
> I'd like to try to fix the simple case first of only building the ramdisk
> image directly then trying to rebuild it. With the latter case fixed, the
> former might be fine as is.
> 
> As a sanity check last night, I blew away the entire build directory and
> only built the ramdisk image recipe. I wanted to make sure there was
> nothing left in there from a main image build that might be effecting an
> explicit ramdisk image build. This overnight build succeeded. When I
> performed the rebuild this morning, the same behavior occurred of the
> IMAGE_PREPROCESS_COMMAND not being able to find a file in the WORKDIR.
>
> Sorry for the confusion about the license data. I wasn't interested,
> necessarily, in the content or cause of the warning, but more the task flow
> of the build that was causing the warning to appear in one build and not
> the other. I wasn't sure if the do_populate_lic dependency change might
> trigger any thoughts on the do_fetch dependencies.
> 
> One thing I had a question about was in regards to image vs package recipes
> and the population of the rootfs. Package recipes populate the rootfs by
> appending/prepending the do_install task and install things from the
> WORKDIR to the $D destination directory. 

To be completely accurate, they don't populate the rootfs directly, they 
install files into the ${D} directory (${WORKDIR}/image) during do_install, 
then do_package creates package definitions from this, then do_package_write_* 
create the actual packages based upon the definitions, and then later when the 
image is constructed some subset of those packages may be installed into the 
rootfs.

> Our image recipes, as I've inherited them, create and assign a new
> IMAGE_PREPROCESS_COMMAND, that install files from the WORKDIR to the
> IMAGE_ROOTFS destination directory. Is it abnormal/non-standard for an image
> recipe to have its own SRC_URI entries and subsequent WORKDIR population?

It is considered so, yes. We disabled this functionality by default in the 
denzil release (1.2) on the assumption that image recipes shouldn't really be 
doing this - additional files that need to be pulled in should be pulled in via 
packages created by a separate recipe. It's perfectly fine for the image to be 
modifying or creating small files from scratch particularly if they're 
constructed from dynamic data, but bringing in extra static files should really 
be handled via additional packages.

> I'm wondering if there is a catch-22 going on here regarding the use of
> RM_WORK and the fact that the checksums for the SRC_URI contents haven't
> changed. It seems as though the build is determining that do_fetch doesn't
> need to be run because nothing is changed, like in a package recipe, but
> doesn't realize that do_rootfs will always be executed for an image recipe
> build and might depend on those contents. I'm wondering if this worked
> under Edison because it didn't have the SRC_URI checksums and a different
> dependency model that forced the do_fetch prior to do_rootfs for image
> recipe builds.

Could you run a test for me - if you comment out the setting of noexec on all 
of the tasks at the end image.bbclass does the rebuilding problem go away?

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


  reply	other threads:[~2013-08-01 14:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-24 15:01 Image recipes in Yocto 1.4 (dylan-9.0.0) Brian Karcz
2013-06-24 15:40 ` Paul Eggleton
     [not found]   ` <7941E07E1E020448937ACA7D4279E632018398AF5AC0@powerhog>
2013-07-16 17:29     ` Paul Eggleton
2013-07-31 20:27       ` Brian Karcz
2013-08-01  8:25         ` Paul Eggleton
2013-08-01 14:00           ` Brian Karcz
2013-08-01 14:27             ` Paul Eggleton [this message]
2013-08-01 16:09               ` Brian Karcz

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=2224533.7EszYEDFKv@helios \
    --to=paul.eggleton@linux.intel.com \
    --cc=briank@russound.com \
    --cc=yocto@yoctoproject.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.