All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Ross <andy.ross@windriver.com>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: poky@yoctoproject.org
Subject: Re: Wacky dependencies
Date: Fri, 16 Nov 2012 10:14:40 -0800	[thread overview]
Message-ID: <50A68290.4000909@windriver.com> (raw)
In-Reply-To: <7871104.EdYNj4Ce18@helios>

On 11/16/2012 06:24 AM, Paul Eggleton wrote:
> The build system is not able to determine whether a variable within a recipe
> depends on a single value within DISTRO_FEATURES, it only knows that it looks
> at the variable; thus any change to DISTRO_FEATURES will change the hash of
> all recipes that read DISTRO_FEATURES.
>
> I'd like to fix this but given that we check if DISTRO_FEATURES and other list
> variables like it contain values using inline python code i.e.
> ${@base_contains(...)} this seems like it would be tricky to implement in a
> reliable way.

I've been playing with variable dependency tracking recently and saw
issues like this too.  I don't think it can be done compatibly (in the
sense of preserving the existing list-in-a-string representation) at
all.  The problem is that dependencies are only tracked at the
variable level and the "logical dependency" is on substructure in the
data that isn't visible to the dependency system.

You could do this with the existing data model though, but splitting
things out into distinct variables.  Test for the presence of
"DISTRO_FEATURES_directfb" for example.  Or use flags:
"DISTRO_FEATURES[directfb]".  Flags would require bitbake modification
though, because they aren't part of the taskdeps field in the
siguatures.

DISTRO_FEATURES is interpreted outside bitbake, of course.  But in a
more limited sense this could be done for OVERRIDES, as it's handled
internally and could be special-cased in the dependency handling.

Andy



  parent reply	other threads:[~2012-11-16 18:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-16 14:12 Wacky dependencies Gary Thomas
2012-11-16 14:24 ` Paul Eggleton
2012-11-16 14:29   ` Gary Thomas
2012-11-16 15:06     ` Tomas Frydrych
2012-11-16 15:32     ` Chris Larson
2012-11-16 18:14   ` Andy Ross [this message]
2012-11-16 19:36     ` Gary Thomas

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=50A68290.4000909@windriver.com \
    --to=andy.ross@windriver.com \
    --cc=paul.eggleton@linux.intel.com \
    --cc=poky@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.