All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Karcz <briank@RUSSOUND.COM>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: "yocto@yoctoproject.org" <yocto@yoctoproject.org>
Subject: Re: Image recipes in Yocto 1.4 (dylan-9.0.0)
Date: Wed, 31 Jul 2013 20:27:16 +0000	[thread overview]
Message-ID: <7e294eee26c84bb695cfc001d9c0fbcb@HERMES.RUSSOUND.com> (raw)
In-Reply-To: <4980830.1VfIILUjWT@helios>

Hi Paul,

Here is a little background of what is going on. I inherited a project that was implemented under and works with Edison. The project has two image recipes, abc-main.bb and abc-ramdisk.bb. The way the project builds under Edison, abc-main.bb has abc-ramdisk listed in the DEPENDS variable. Abc-main then has an image preprocess command that sneakily goes into the DEPLOY_DIR_IMAGE and retrieves the ramdisk image and inserts it into its own IMAGE_ROOTFS.

As I've been working on porting to the Dylan version of the build system, I found the whole issue with do_fetch and do_unpack not being run at all for images. I applied the fix you advised of to add a python function that removes the noexec flag for the two tasks. This apparently only works for one build of the image. I either need to do a "cleanall" on the image or bump the rev to get it to build again.

To simplify things, and remove the dependency between the main and ramdisk images, I started building just the ramdisk directly. Doing this I see the same behavior:
	Bitbake abc-ramdisk -c cleanall
	Bitbake abc-ramdisk			<--- succeeds
	Bitbake abc-ramdisk			<--- fails trying to operate on one the files in the SRC_URI

As I mentioned in the previous post. I'm using the rm_work directive in the local.conf file. Its interesting that the subsequent re-build doesn't determine that the WORKDIR needs to be repopulated. Another interesting note that might be of interest is that our LICENCE is defined to "XYZ" and issues the following warning, "WARNING: abc-ramdisk: No generic license file exists for: XYZ in any provider", in the first build that succeeds. When the second build is run the warning does not appear and the build jumps right to the do_rootfs task where it fails.

Thanks,
Brian 

-----Original Message-----
From: Paul Eggleton [mailto:paul.eggleton@linux.intel.com] 
Sent: Tuesday, July 16, 2013 1:30 PM
To: Brian Karcz
Cc: yocto@yoctoproject.org
Subject: Re: [yocto] Image recipes in Yocto 1.4 (dylan-9.0.0)

Hi Brian,

Sorry this message got lost in my inbox.

On Monday 24 June 2013 16:22:27 Brian Karcz wrote:
> > Paul Eggleton wrote:
> > > Brian Karcz wrote:
> > > Is there a way to stop this optimization and have the image build 
> > > populate the work directory as it has in the past?
> > 
> > You should be able to do this in your image recipe:
> > 
> > python () {
> >         d.delVarFlag("do_fetch", "noexec")
> >         d.delVarFlag("do_unpack", "noexec") }
>
> That was what I needed to get my build(s) moving forward. It has 
> brought me to a follow-up question. The image in question (a ramdisk 
> image) is being built as a dependency of a larger image build. When I 
> rebuild the parent image, bitbake believes the child image needs to be 
> rebuilt, but when this occurs, do_fetch and do_unpack once again don't 
> get executed and my build fails as before when it jumps straight to 
> do_rootfs with an empty work directory. Upon seeing this, I attempted 
> to re-build the child image from its own recipe, without trying to 
> build the parent, and the same behavior occurs.
> 
> I was considering adding the child image to RM_WORK_EXCLUDE in 
> local.conf, but that didn't seem intuitive to the problem.

So you are using rm_work? If you are I don't think RM_WORK_EXCLUDE will really help.

Just to confirm, you're not referring to the WORKDIR of one recipe within the other are you? Also, how are you setting up the dependency relationship between the images?

> I would think bitbake would do nothing since nothing has changed, or 
> the required tasks would be executed, but I wouldn't think telling the 
> last build to leave the work area would be the fix.
> 
> Do have any thoughts on making this work past a single build?

So I haven't tested this exact configuration; it's possible that bitbake is eliminating a dependency based on the task being marked as "noexec", but I wouldn't have thought so.

Cheers,
Paul

PS: please keep replies on the mailing list. Thanks.

-- 

Paul Eggleton
Intel Open Source Technology Centre


  reply	other threads:[~2013-07-31 20: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 [this message]
2013-08-01  8:25         ` Paul Eggleton
2013-08-01 14:00           ` Brian Karcz
2013-08-01 14:27             ` Paul Eggleton
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=7e294eee26c84bb695cfc001d9c0fbcb@HERMES.RUSSOUND.com \
    --to=briank@russound.com \
    --cc=paul.eggleton@linux.intel.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.