All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: "Burton, Ross" <ross.burton@intel.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: dbus-test no longer built for dbus-ptest after last bitbake changes
Date: Tue, 21 Jul 2015 10:11:34 +0100	[thread overview]
Message-ID: <1437469894.821.60.camel@linuxfoundation.org> (raw)
In-Reply-To: <1437134486.22526.45.camel@linuxfoundation.org>

On Fri, 2015-07-17 at 13:01 +0100, Richard Purdie wrote:
> On Thu, 2015-07-16 at 23:22 +0100, Burton, Ross wrote:
> > 
> > On 16 July 2015 at 22:29, Martin Jansa <martin.jansa@gmail.com> wrote:
> >         ERROR: Nothing PROVIDES 'gtk+-native' (but
> >         virtual:native:/home/jenkins/oe/world/shr-core/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb DEPENDS on or otherwise requires it). Close matches:
> >
> > So libwmf does this:
> >
> > DEPENDS_virtclass-native = "freetype-native libpng-native jpeg-native"
> > DEPENDS = "freetype libpng jpeg expat gtk+"
> >
> > Interestingly changing this to _class-native fixes the problem.
> 
> Strangely, the answer as to what might be wrong occurred to me in the
> shower this morning. We should try changing:
> 
> native.bbclass:    e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-native")
> 
> to
> 
> e.data.setVar("FOO", "virtclass-native")
> e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":${FOO}")
> 
> and if that makes things work, its the override caching mechanism that
> is bust for direct changes to OVERRIDES which don't use variable
> indirection (most do).
> 
> If that is the case, a fix shouldn't be hard.

Its actually much simpler than this. DEPENDS is evaluated in
native_virtclass_handler(e):28 [map_dependencies] which is before
virtclass-native is added to OVERRIDES. The act of setting the DEPENDS
variable wipes out any other overrides which may not have been applied
to that point. The fixes are:

a) Move the virtclass-native addition to OVERRIDES to earlier in the
function
b) Change meta-oe use of virtclass -> class
c) Drop use of virtclass-native and virtclass-nativesdk entirely (only
multilib really makes sense now).

Cheers,

Richard





  reply	other threads:[~2015-07-21 10:54 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-14 14:21 dbus-test no longer built for dbus-ptest after last bitbake changes Martin Jansa
2015-07-16 21:29 ` Martin Jansa
2015-07-16 22:22   ` Burton, Ross
2015-07-17 12:01     ` Richard Purdie
2015-07-21  9:11       ` Richard Purdie [this message]
2015-07-16 21:39 ` Richard Purdie
2015-07-21  9:44 ` 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=1437469894.821.60.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=ross.burton@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.