From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Paulo Neves <ptsneves@gmail.com>,
openembedded-core@lists.openembedded.org
Cc: Paulo Neves <paulo.de_sousa_neves@nokia.com>
Subject: Re: [PATCH] Fix COMPATIBLE_MACHINE for -native recipe variants.
Date: Sat, 13 Jan 2018 17:14:53 +0000 [thread overview]
Message-ID: <1515863693.29722.161.camel@linuxfoundation.org> (raw)
In-Reply-To: <1515779154-17898-1-git-send-email-ptsneves@gmail.com>
On Fri, 2018-01-12 at 18:45 +0100, Paulo Neves wrote:
> From: Paulo Neves <paulo.de_sousa_neves@nokia.com>
>
> Hello I am having a problem where I want a recipe, along
> with its -native version to only be available when allowed
> by compatible machine.
>
> In the non native case, COMPATIBLE_MACHINE is correctly
> honored. But in the -native version the COMPATIBLE_MACHINE
> is not honored because in the native.bbclass there is:
>
> MACHINEOVERRIDES = ""
>
> This change was introduced in
> d09e6d883042e5d094cd08d829327c4bbbfae135.
> While the explanation provided by the commit is accurate for
> specific case mentioned it also breaks the
> COMPATIBLE_MACHINE mechanism which relies on the
> MACHINEOVERRIDES variable.
>
> Further evidence that this was not intended is that the
> exception text is false:
>
> ERROR: Nothing PROVIDES 'x-filter-native'
> x-filter-native was skipped: incompatible with machine m1
> (not in COMPATIBLE_MACHINE)
>
> And the x-filter-native'.bb recipe header contains:
>
> COMPATIBLE_MACHINE = "^m1$"
>
> So the exception uses ${MACHINE} to report that a
> ${MACHINEOVERRIDE} was not matched with the
> COMPATIBLE_MACHINE, which is a false statement.
This will cause other problems and there is actually a reason this is
breaking. Native recipes should be completely target independent and
not depend on MACHINE at all.
Why can't you always have the native version available? It will only
get built if something actually depends on it...
FWIW I think your change will add a MACHINE dependency to the code and
then trigger sstate tests to fail (which check native recipes don't
depend on machine).
Cheers,
Richard
next prev parent reply other threads:[~2018-01-13 17:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-12 17:45 [PATCH] Fix COMPATIBLE_MACHINE for -native recipe variants Paulo Neves
2018-01-12 18:04 ` ✗ patchtest: failure for " Patchwork
2018-01-13 17:14 ` Richard Purdie [this message]
[not found] ` <d7600f26-373a-7ca9-cbaa-97dfac3bd86d@nokia.com>
2018-01-15 11:05 ` [PATCH] " 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=1515863693.29722.161.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
--cc=paulo.de_sousa_neves@nokia.com \
--cc=ptsneves@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox