All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Burton, Ross" <ross.burton@intel.com>
To: Patrick Ohly <patrick.ohly@intel.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] rm_work.bbclass: re-enable recursive do_rm_work_all
Date: Thu, 16 Mar 2017 22:32:17 +0000	[thread overview]
Message-ID: <CAJTo0LYPjw9P5+CASrw6SF=w+vjtNGP7_JW=rM_pXrw05-pbDg@mail.gmail.com> (raw)
In-Reply-To: <d7930253eb64c32753c41d661f7148e5e65eafd8.1489505343.git-series.patrick.ohly@intel.com>

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

On 14 March 2017 at 15:29, Patrick Ohly <patrick.ohly@intel.com> wrote:

> When rewriting the do_rm_work injection, do_rm_work_all had been
> removed because it seemed obsolete, as do_build now always triggers
> do_rm_work.
>
> However, do_build does not get triggered for all recipes and thus
> do_rm_work was not called for recipes that got built only
> partially. For example, zlib depends indirectly on
> zlib-native:do_populate_sysroot.  Because of that dependency,
> zlib-native got compiled, but do_rm_work was never called for it.
>
> Re-introducing do_rm_work_all fixes that by making do_build depend on
> do_rm_work_all, which then recursively depends on do_rm_work of all
> dependencies. This has the unintended side-effect that do_rm_work then
> also triggers additional work (like do_populate_lic) that normally
> doesn't need to be done for a build. This seems like the lesser evil,
> compared to an incomplete cleanup because it mostly enables the
> lighter tasks after do_populate_sysroot.
>
> The real solution would be to have two kinds of relationships: a weak
> ordering relationship ("if A and B are enabled, A must run before B,
> but B can also run without A") and hard dependencies ("B cannot run
> unless A has run before").
>

If I do a build with rm_work enabled I tend to get this error at rootfs
time:

ERROR: core-image-sato-1.0-r0 do_image_wic: Error executing a python
function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:extend_recipe_sysroot(d)
     0003:
File: '/home/ross/Yocto/poky/meta/classes/staging.bbclass', lineno: 623,
function: extend_recipe_sysroot
     0619:                    dest = newmanifest[l]
     0620:                    if l.endswith("/"):
     0621:                        staging_copydir(l, targetdir, dest,
seendirs)
     0622:                        continue
 *** 0623:                    staging_copyfile(l, targetdir, dest,
postinsts, seendirs)
     0624:
     0625:    for f in fixme:
     0626:        if f == '':
     0627:            staging_processfixme(fixme[f], recipesysroot,
recipesysroot, recipesysrootnative, d)
File: '/home/ross/Yocto/poky/meta/classes/staging.bbclass', lineno: 269,
function: staging_copyfile
     0265:        os.symlink(linkto, dest)
     0266:        #bb.warn(c)
     0267:    else:
     0268:        try:
 *** 0269:            os.link(c, dest)
     0270:        except OSError as err:
     0271:            if err.errno == errno.EXDEV:
     0272:                bb.utils.copyfile(c, dest)
     0273:            else:
Exception: FileExistsError: [Errno 17] File exists:
'/data/poky-master/tmp/sysroots-components/corei7-64/glibc/usr/lib/crt1.o'
->
'/data/poky-master/tmp/work/intel_corei7_64-poky-linux/core-image-sato/1.0-r0/recipe-sysroot/usr/lib/crt1.o'

ERROR: core-image-sato-1.0-r0 do_image_wic: Function failed:
extend_recipe_sysroot
ERROR: Logfile of failure stored in:
/data/poky-master/tmp/work/intel_corei7_64-poky-linux/core-image-sato/1.0-r0/temp/log.do_image_wic.21552
ERROR: Task
(/home/ross/Yocto/poky/meta/recipes-sato/images/core-image-sato.bb:do_image_wic)
failed with exit code '1'

Reverting this patch makes it go away.

Ross

[-- Attachment #2: Type: text/html, Size: 5245 bytes --]

  reply	other threads:[~2017-03-16 22:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-14 15:29 [PATCH] rm_work.bbclass: re-enable recursive do_rm_work_all Patrick Ohly
2017-03-16 22:32 ` Burton, Ross [this message]
2017-03-17  7:20   ` Patrick Ohly

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='CAJTo0LYPjw9P5+CASrw6SF=w+vjtNGP7_JW=rM_pXrw05-pbDg@mail.gmail.com' \
    --to=ross.burton@intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=patrick.ohly@intel.com \
    /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.