All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: bitbake-devel@lists.openembedded.org
Subject: Re: Bitbake / oe-core anomaly with multilibs
Date: Tue, 19 Mar 2013 07:44:05 -0500	[thread overview]
Message-ID: <51485D95.7010301@windriver.com> (raw)
In-Reply-To: <1363692919.16482.95.camel@ted>

On 3/19/13 6:35 AM, Richard Purdie wrote:
> On Mon, 2013-03-18 at 14:12 -0500, Mark Hatle wrote:
>> I found a strange situation today and I'm looking for an explanation to see if
>> it's a bug or not.
>>
>> Between a .bb and .bbappend file, I end up with a situation where
>> "reproducer.bb" and "reproducer.bbappend" get the following:
>>
>> RDEPENDS_${PN} += "hello1"
>> RDEPENDS_reproducer += "hello2"
>>
>> When evaluatated (bitbake -e reproducer) I get:
>>
>> #
>> # $RDEPENDS_reproducer [2 operations]
>> #   append
>> /home/mhatle/git/oss/oe-core/local/recipes-sample/hello/reproducer_1.0.bb:16
>> #     "hello2"
>> #   rename from RDEPENDS_${PN} data.py:161 [expandKeys]
>> #     " hello1"
>> # computed:
>> #   " hello1"
>> RDEPENDS_reproducer="hello1"
>>
>> So that tells me that it was initially set to "hello2", and then the ${PN}
>> expansion occurred, causing it to be set to "hello1".
>>
>> So my first question is, should this be "hello1", "hello2", "hello1 hello2" or
>> "hello2 hello1"?
>
> expandKeys tramples existing values so that result doesn't surprise me
> even if its not what you expect.
>
>> The second issue is a bit stranger.. if I change the build from "reproducer" to
>> "lib32-reproducer", I get a different result:
>>
>> # $RDEPENDS_lib32-reproducer [3 operations]
>> #   rename from RDEPENDS_${PN} data.py:161 [expandKeys]
>> #     " hello1"
>> #   rename from RDEPENDS_reproducer classextend.py:95 [rename_package_variables]
>> #     " hello2"
>> #   set classextend.py:71 [map_depends_variable]
>> #     "lib32-hello2"
>> # computed:
>> #   "lib32-hello2"
>> RDEPENDS_lib32-reproducer="lib32-hello2"
>>
>> This time the system pulled in the ${PN} version first (obviously expanded it),
>> and then turned out and found the RDEPENDS_reproducer, and remapped it to
>> RDEPENDS_lib32-reproducer replacing the origin ${PN} version.
>>
>> So I have two concerns, the first is the value is 'different' from the
>> non-multilib version, and second, what should the expected output be for this item?
>
> Again, I'm not surprised. The multilib remapping code gets executed at
> the end, after expandKeys and in this case last wins. So I can see why
> the system is doing it, even if you don't like the end result.
>
> Setting multiple conflicting keys like this is dangerous :(
>
> We've tried to fix this before and ended up just digging deeper holes
> with more problems.

Is there any way we can issue a warning from the parser or something when it 
finds conflicting keys?  My concern isn't that conflicting keys are causing a 
problem -- but more that someone may not realize this is a problem, and they are 
getting incorrect results.

I know since posting this query, I've had a few people comment to me that they 
saw the same problem and it took them a very long time to diagnose it and figure 
out it "just didn't work".

--Mark

> Cheers,
>
> Richard
>




  reply	other threads:[~2013-03-19 13:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-18 19:12 Bitbake / oe-core anomaly with multilibs Mark Hatle
2013-03-19 11:35 ` Richard Purdie
2013-03-19 12:44   ` Mark Hatle [this message]
2013-03-19 13:30     ` Richard Purdie
2013-03-19 16:52       ` Chris Larson

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=51485D95.7010301@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=bitbake-devel@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.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.