All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Yang <liezhi.yang@windriver.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>,
	Christopher Larson <kergoth@gmail.com>,
	Denys Dmytriyenko <denis@denix.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] base.bbclass: fix COMPATIBLE_MACHINE
Date: Mon, 11 Apr 2016 16:33:36 +0800	[thread overview]
Message-ID: <570B6160.70902@windriver.com> (raw)
In-Reply-To: <1460363353.9308.23.camel@linuxfoundation.org>



On 04/11/2016 04:29 PM, Richard Purdie wrote:
> On Mon, 2016-04-11 at 10:11 +0800, Robert Yang wrote:
>>
>> On 04/11/2016 09:56 AM, Christopher Larson wrote:
>>> On Sun, Apr 10, 2016 at 6:17 PM Robert Yang <
>>> liezhi.yang@windriver.com
>>> <mailto:liezhi.yang@windriver.com>> wrote:
>>>
>>>
>>>
>>>      On 04/11/2016 03:06 AM, Denys Dmytriyenko wrote:
>>>       > On Sun, Apr 10, 2016 at 07:14:56AM -0700, Robert Yang wrote:
>>>       >> It mismatched such as qemux86 and qemux86-64 which was
>>> incorrect, for
>>>       >> example:
>>>       >> COMPATIBLE_MACHINE = "(qemux86)"
>>>       >
>>>       > That will match qemux86 and qemux86-64 and is by design!
>>> It's a regular
>>>
>>>      I'm afraid no, please see my last reply, for others such as
>>>      MACHINE_OVERRIDES, they never design to work in such a way, so
>>> I don't
>>>      think that COMPATIBLE_MACHINE should work in this way. If you
>>> really
>>>      want to match more, I think that you can set it as
>>> "(qemux86.*)" or
>>>      something familiar.
>>>
>>>
>>> That's an apples and oranges comparison. MACHINEOVERRIDES is part
>>> of OVERRIDES,
>>> which has *completely* different semantics than COMPATIBLE_*.
>>> COMPATIBLE_MACHINE
>>> is a regex variable more like BBMASK than anything else, and it's
>>> been that way
>>> since we introduced it. OVERRIDES has nothing to do with regular
>>> expressions.
>>
>> Since introduced ? I did a grep in oe-core and meta-openembedded, it
>> seems
>> that no ?
>>
>> In oe-core:
>>
>> $ grep 'COMPATIBLE_MACHINE.*qemux86' meta/recipes* -r
>> linux-yocto_4.4.bb:COMPATIBLE_MACHINE =
>> "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
>> linux-yocto-tiny_4.4.bb:COMPATIBLE_MACHINE = "(qemux86)"
>> linux-yocto-dev.bb:COMPATIBLE_MACHINE =
>> "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64)"
>> linux-yocto-tiny_4.1.bb:COMPATIBLE_MACHINE = "(qemux86)"
>> linux-yocto-rt_4.1.bb:COMPATIBLE_MACHINE =
>> "(qemux86|qemux86-64|qemuarm|qemuppc|qemumips)"
>> linux-yocto-rt_4.4.bb:COMPATIBLE_MACHINE =
>> "(qemux86|qemux86-64|qemuarm|qemuppc|qemumips)"
>> linux-yocto_4.1.bb:COMPATIBLE_MACHINE =
>> "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
>>
>> In meta-openembedded:
>> vboxguestdrivers_4.3.30.bb:COMPATIBLE_MACHINE = "(qemux86|qemux86
>> -64)"
>>
>> We can see that the only one sets qemux86 but no set qemux86-64 is
>> linux-yocto-tiny:
>> COMPATIBLE_MACHINE = "(qemux86)"
>>
>> And it really doesn't work with qemux86-64.
>
> The trouble is as others have mentioned, COMPATIBLE_MACHINE has always
> worked this way. We can't really change that without a wider discussion
> and at this point in the release in particular, I can't take such a
> patch.
>
> We do really need to think about the behaviour as it does do unexpected
> things and catch people out.
>
> I'd suggest you add a '$' to the end of the regex in linux-yocto-tiny

Thanks, I will send a new patch it.

> to resolve this. We could also add '$' to the end of the other usages
> and make it clear it is a regex?

I'd like to only fix linux-yocto-tiny atm in case of cause other errors,
maybe we can do that for other recipes in YP 2.2.

// Robert

>
> Cheers,
>
> Richard
>
>
>


      reply	other threads:[~2016-04-11  8:33 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-10 14:14 [PATCH 0/1] base.bbclass: fix COMPATIBLE_MACHINE Robert Yang
2016-04-10 14:14 ` [PATCH 1/1] " Robert Yang
2016-04-10 17:30   ` Christopher Larson
2016-04-11  1:10     ` Robert Yang
2016-04-10 19:06   ` Denys Dmytriyenko
2016-04-11  1:17     ` Robert Yang
2016-04-11  1:56       ` Christopher Larson
2016-04-11  2:11         ` Robert Yang
2016-04-11  2:29           ` Denys Dmytriyenko
2016-04-11 13:12             ` Denys Dmytriyenko
2016-04-11  8:29           ` Richard Purdie
2016-04-11  8:33             ` Robert Yang [this message]

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=570B6160.70902@windriver.com \
    --to=liezhi.yang@windriver.com \
    --cc=denis@denix.org \
    --cc=kergoth@gmail.com \
    --cc=openembedded-core@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.