All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: Johan Thelin <johan.thelin@pelagicore.com>
Cc: yocto@yoctoproject.org
Subject: Re: eo_filter_out not working
Date: Thu, 23 May 2013 12:04:58 +0100	[thread overview]
Message-ID: <2768871.Kj44iKgpRq@helios> (raw)
In-Reply-To: <CADGWk0rtNhS2pMUqhXGjLL469FxCFvkdk-3SnUSWQ4uXP60AGw@mail.gmail.com>

Hi Johan,

On Thursday 23 May 2013 08:59:03 Johan Thelin wrote:
> I'm trying to build the packagegroup-core-p1 from the meta-ivi layer,
> but I would like to remove the RRECOMMENDS as I don't want X11. To do
> this, I've added a packagegroup-core-p1.bbappend to my own layer. In
> this file I've tried the following options:
> 
> Attempt #1
> 
> RRECOMMENDS_packagegroup-core-p1 :=
> "${@oe_filter_out('packagegroup-xserver-ivi',
> '${RRECOMMENDS_packagegroup-core-p1}', d)}"
> 
> ERROR: ExpansionError during parsing
> /home/e8johan/work/yocto/pelagicore-bsp/sources/meta-ivi/recipes-yocto-ivi/p
> ackagegroups/packagegroup-core-p1.bb: Failure expanding variable
> RRECOMMENDS_packagegroup-core-p1[:=],
> expression was ${@oe_filter_out('packagegroup-xserver-ivi',
> '${RRECOMMENDS_packagegroup-core-p1}', d)} which triggered exception
> SyntaxError: EOL while scanning string literal
> (RRECOMMENDS_packagegroup-core-p1[:=], line 1)
> 
> 
> I read this as RECOMMENDS_packagegroup-core-p1 is not yet set, so the
> oe_filter_out part fails.
> 
> 
> 
> Attempt #2
> 
> RRECOMMENDS_packagegroup-core-p1 := "foo"
> 
> WARNING: Variable key RRECOMMENDS_${PN} (    packagegroup-xserver-ivi
>    ) replaces original key RRECOMMENDS_packagegroup-core-p1 (foo).
> 
> 
> This sort of explains why attempt #1 fails, as it seems that the bb is
> evaluated after the bbappend.

It's not specifically about the order of evaluation between the bb and the 
bbappend, what this is saying is assignment statements where the variable name 
on the LHS contains references to other variables will be evaluated after 
assignment statements that don't. 

Unfortunately I think this means this kind of expression can't work, because 
at the time of the immediate evaluation, RDEPENDS_packagegroup-core-p1 (which 
is what RDEPENDS_${PN} is later expanded to) isn't available. I tried to get 
the value specifically of RDEPENDS_${PN} in an anonymous python function but 
that doesn't seem to work either.

I think for this case you're probably better off just setting the value as 
desired rather than trying to mangle the original value. When this kind of 
situation arises it usually indicates the recipe being appended needs to be 
changed to be more flexible instead of trying to work around its inflexibility 
in the bbappend.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


  reply	other threads:[~2013-05-23 11:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-23  6:59 eo_filter_out not working Johan Thelin
2013-05-23 11:04 ` Paul Eggleton [this message]
2013-05-23 11:32   ` Johan Thelin

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=2768871.Kj44iKgpRq@helios \
    --to=paul.eggleton@linux.intel.com \
    --cc=johan.thelin@pelagicore.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.