* [PATCH] Fix COMPATIBLE_MACHINE for -native recipe variants.
@ 2018-01-12 17:45 Paulo Neves
2018-01-12 18:04 ` ✗ patchtest: failure for " Patchwork
2018-01-13 17:14 ` [PATCH] " Richard Purdie
0 siblings, 2 replies; 4+ messages in thread
From: Paulo Neves @ 2018-01-12 17:45 UTC (permalink / raw)
To: openembedded-core; +Cc: Paulo Neves
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 fix attempts to correct the issue with minimal
changes.
Change-Id: If5085e4e92550b8154033dd56149eb4e358ef266
---
meta/classes/base.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index d95afb7..d1c31c2 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -488,7 +488,7 @@ python () {
need_machine = d.getVar('COMPATIBLE_MACHINE')
if need_machine:
import re
- compat_machines = (d.getVar('MACHINEOVERRIDES') or "").split(":")
+ compat_machines = (d.getVar('MACHINEOVERRIDES') or d.getVar('MACHINE')).split(":")
for m in compat_machines:
if re.match(need_machine, m):
break
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread* ✗ patchtest: failure for Fix COMPATIBLE_MACHINE for -native recipe variants.
2018-01-12 17:45 [PATCH] Fix COMPATIBLE_MACHINE for -native recipe variants Paulo Neves
@ 2018-01-12 18:04 ` Patchwork
2018-01-13 17:14 ` [PATCH] " Richard Purdie
1 sibling, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-01-12 18:04 UTC (permalink / raw)
To: Paulo Neves; +Cc: openembedded-core
== Series Details ==
Series: Fix COMPATIBLE_MACHINE for -native recipe variants.
Revision: 1
URL : https://patchwork.openembedded.org/series/10521/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:
* Patch Fix COMPATIBLE_MACHINE for -native recipe variants.
Issue Shortlog does not follow expected format [test_shortlog_format]
Suggested fix Commit shortlog (first line of commit message) should follow the format "<target>: <summary>"
* Patch Fix COMPATIBLE_MACHINE for -native recipe variants.
Issue Patch is missing Signed-off-by [test_signed_off_by_presence]
Suggested fix Sign off the patch (either manually or with "git commit --amend -s")
If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).
---
Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Fix COMPATIBLE_MACHINE for -native recipe variants.
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
[not found] ` <d7600f26-373a-7ca9-cbaa-97dfac3bd86d@nokia.com>
1 sibling, 1 reply; 4+ messages in thread
From: Richard Purdie @ 2018-01-13 17:14 UTC (permalink / raw)
To: Paulo Neves, openembedded-core; +Cc: Paulo Neves
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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-01-15 11:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH] " Richard Purdie
[not found] ` <d7600f26-373a-7ca9-cbaa-97dfac3bd86d@nokia.com>
2018-01-15 11:05 ` Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox