* Re: [PATCH 0/1] devupstream.bbclass: Disable devupstream when multilib is enabled
2019-06-28 12:15 [PATCH 0/1] devupstream.bbclass: Disable devupstream when multilib is enabled Robert Yang
@ 2019-06-28 12:03 ` Robert Yang
2019-06-28 12:15 ` [PATCH 1/1] " Robert Yang
1 sibling, 0 replies; 5+ messages in thread
From: Robert Yang @ 2019-06-28 12:03 UTC (permalink / raw)
To: openembedded-core
On 6/28/19 8:15 PM, Robert Yang wrote:
> The following changes since commit 9f674a88c781c7092d5b3460922a1579b9fe4bf9:
>
> busybox: Fix typo in syslog initscript (2019-06-27 13:27:54 +0100)
>
> are available in the git repository at:
>
> git://git.pokylinux.org/poky-contrib rbt/dev
> http://git.pokylinux.org/cgit.cgi//log/?h=rbt/dev
Sorry, here should be oe-core, not poky:
git://git.openembedded.org/openembedded-core-contrib rbt/dev
http://cgit.openembedded.org//log/?h=rbt/dev
// Robert
>
> Robert Yang (1):
> devupstream.bbclass: Disable devupstream when multilib is enabled
>
> meta/classes/devupstream.bbclass | 6 ++++++
> 1 file changed, 6 insertions(+)
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 0/1] devupstream.bbclass: Disable devupstream when multilib is enabled
@ 2019-06-28 12:15 Robert Yang
2019-06-28 12:03 ` Robert Yang
2019-06-28 12:15 ` [PATCH 1/1] " Robert Yang
0 siblings, 2 replies; 5+ messages in thread
From: Robert Yang @ 2019-06-28 12:15 UTC (permalink / raw)
To: openembedded-core
The following changes since commit 9f674a88c781c7092d5b3460922a1579b9fe4bf9:
busybox: Fix typo in syslog initscript (2019-06-27 13:27:54 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib rbt/dev
http://git.pokylinux.org/cgit.cgi//log/?h=rbt/dev
Robert Yang (1):
devupstream.bbclass: Disable devupstream when multilib is enabled
meta/classes/devupstream.bbclass | 6 ++++++
1 file changed, 6 insertions(+)
--
2.7.4
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/1] devupstream.bbclass: Disable devupstream when multilib is enabled
2019-06-28 12:15 [PATCH 0/1] devupstream.bbclass: Disable devupstream when multilib is enabled Robert Yang
2019-06-28 12:03 ` Robert Yang
@ 2019-06-28 12:15 ` Robert Yang
2019-06-30 8:04 ` Richard Purdie
1 sibling, 1 reply; 5+ messages in thread
From: Robert Yang @ 2019-06-28 12:15 UTC (permalink / raw)
To: openembedded-core
Fixed:
MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
PREFERRED_VERSION_lttng-modules = "2.10.10+git%"
$ bitbake world
NOTE: preferred version 2.10.10+git% of lttng-modules not available (for item lib32-lttng-modules)
NOTE: versions of lttng-modules available: 2.10.10
ERROR: Multiple versions of lttng-modules are due to be built (/path/to/lttng-modules_2.10.10.bb virtual:devupstream:target:/path/to/lttng-modules_2.10.10.bb). Only one version of a given PN should be built in any given build. You likely need to set PREFERRED_VERSION_lttng-modules to select the correct version or don't depend on multiple versions.
This is because 2.10.10+git% will be built for non-multilib lttng-modules since
the PREFERRED_VERSION is set, but this version doesn't provide
lib32-lttng-modules, so 2.10.10 will be built, then the error happens.
Bitbake can't extend an extended recipe, for example:
virtual:multilib:lib32:virtual:devupstream:target
Or in a reverse order:
virtual:devupstream:target:virtual:multilib:lib32
So disable devupstream when multilib is enabled.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
meta/classes/devupstream.bbclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/meta/classes/devupstream.bbclass b/meta/classes/devupstream.bbclass
index 7780c54..25403da 100644
--- a/meta/classes/devupstream.bbclass
+++ b/meta/classes/devupstream.bbclass
@@ -19,6 +19,12 @@
CLASSOVERRIDE .= ":class-devupstream"
python devupstream_virtclass_handler () {
+ # bitbake can't extend an extended recipe, for example:
+ # virtual:multilib:lib32:virtual:devupstream:target
+ # So disable devupstream when multilib is enabled.
+ if d.getVar('MULTILIBS'):
+ raise bb.parse.SkipRecipe("Disable devupstream when multilib is enabled")
+
# Do nothing if this is inherited, as it's for BBCLASSEXTEND
if "devupstream" not in (d.getVar('BBCLASSEXTEND') or ""):
bb.error("Don't inherit devupstream, use BBCLASSEXTEND")
--
2.7.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] devupstream.bbclass: Disable devupstream when multilib is enabled
2019-06-28 12:15 ` [PATCH 1/1] " Robert Yang
@ 2019-06-30 8:04 ` Richard Purdie
2019-07-02 3:35 ` Robert Yang
0 siblings, 1 reply; 5+ messages in thread
From: Richard Purdie @ 2019-06-30 8:04 UTC (permalink / raw)
To: Robert Yang, openembedded-core
On Fri, 2019-06-28 at 20:15 +0800, Robert Yang wrote:
> Fixed:
> MACHINE = "qemux86-64"
> require conf/multilib.conf
> MULTILIBS = "multilib:lib32"
> DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
>
> PREFERRED_VERSION_lttng-modules = "2.10.10+git%"
>
> $ bitbake world
>
> NOTE: preferred version 2.10.10+git% of lttng-modules not available
> (for item lib32-lttng-modules)
> NOTE: versions of lttng-modules available: 2.10.10
> ERROR: Multiple versions of lttng-modules are due to be built
> (/path/to/lttng-modules_2.10.10.bb
> virtual:devupstream:target:/path/to/lttng-modules_2.10.10.bb). Only
> one version of a given PN should be built in any given build. You
> likely need to set PREFERRED_VERSION_lttng-modules to select the
> correct version or don't depend on multiple versions.
>
> This is because 2.10.10+git% will be built for non-multilib lttng-
> modules since
> the PREFERRED_VERSION is set, but this version doesn't provide
> lib32-lttng-modules, so 2.10.10 will be built, then the error
> happens.
>
> Bitbake can't extend an extended recipe, for example:
> virtual:multilib:lib32:virtual:devupstream:target
>
> Or in a reverse order:
> virtual:devupstream:target:virtual:multilib:lib32
>
> So disable devupstream when multilib is enabled.
>
> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ---
> meta/classes/devupstream.bbclass | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/meta/classes/devupstream.bbclass
> b/meta/classes/devupstream.bbclass
> index 7780c54..25403da 100644
> --- a/meta/classes/devupstream.bbclass
> +++ b/meta/classes/devupstream.bbclass
> @@ -19,6 +19,12 @@
> CLASSOVERRIDE .= ":class-devupstream"
>
> python devupstream_virtclass_handler () {
> + # bitbake can't extend an extended recipe, for example:
> + # virtual:multilib:lib32:virtual:devupstream:target
> + # So disable devupstream when multilib is enabled.
> + if d.getVar('MULTILIBS'):
> + raise bb.parse.SkipRecipe("Disable devupstream when multilib
> is enabled")
> +
> # Do nothing if this is inherited, as it's for BBCLASSEXTEND
> if "devupstream" not in (d.getVar('BBCLASSEXTEND') or ""):
> bb.error("Don't inherit devupstream, use BBCLASSEXTEND")
This is a bit of a serious problem with devupstream as it means we
can't rely upon it for default recipes. We need to file a bug about
this and find a way to fix it, perhaps teaching multilib about
devupstream so it can set BBCLASSEXTEND accordingly.
Cheers,
Richard
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] devupstream.bbclass: Disable devupstream when multilib is enabled
2019-06-30 8:04 ` Richard Purdie
@ 2019-07-02 3:35 ` Robert Yang
0 siblings, 0 replies; 5+ messages in thread
From: Robert Yang @ 2019-07-02 3:35 UTC (permalink / raw)
To: Richard Purdie, openembedded-core
On 6/30/19 4:04 PM, Richard Purdie wrote:
> On Fri, 2019-06-28 at 20:15 +0800, Robert Yang wrote:
>> Fixed:
>> MACHINE = "qemux86-64"
>> require conf/multilib.conf
>> MULTILIBS = "multilib:lib32"
>> DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
>>
>> PREFERRED_VERSION_lttng-modules = "2.10.10+git%"
>>
>> $ bitbake world
>>
>> NOTE: preferred version 2.10.10+git% of lttng-modules not available
>> (for item lib32-lttng-modules)
>> NOTE: versions of lttng-modules available: 2.10.10
>> ERROR: Multiple versions of lttng-modules are due to be built
>> (/path/to/lttng-modules_2.10.10.bb
>> virtual:devupstream:target:/path/to/lttng-modules_2.10.10.bb). Only
>> one version of a given PN should be built in any given build. You
>> likely need to set PREFERRED_VERSION_lttng-modules to select the
>> correct version or don't depend on multiple versions.
>>
>> This is because 2.10.10+git% will be built for non-multilib lttng-
>> modules since
>> the PREFERRED_VERSION is set, but this version doesn't provide
>> lib32-lttng-modules, so 2.10.10 will be built, then the error
>> happens.
>>
>> Bitbake can't extend an extended recipe, for example:
>> virtual:multilib:lib32:virtual:devupstream:target
>>
>> Or in a reverse order:
>> virtual:devupstream:target:virtual:multilib:lib32
>>
>> So disable devupstream when multilib is enabled.
>>
>> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
>> ---
>> meta/classes/devupstream.bbclass | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/meta/classes/devupstream.bbclass
>> b/meta/classes/devupstream.bbclass
>> index 7780c54..25403da 100644
>> --- a/meta/classes/devupstream.bbclass
>> +++ b/meta/classes/devupstream.bbclass
>> @@ -19,6 +19,12 @@
>> CLASSOVERRIDE .= ":class-devupstream"
>>
>> python devupstream_virtclass_handler () {
>> + # bitbake can't extend an extended recipe, for example:
>> + # virtual:multilib:lib32:virtual:devupstream:target
>> + # So disable devupstream when multilib is enabled.
>> + if d.getVar('MULTILIBS'):
>> + raise bb.parse.SkipRecipe("Disable devupstream when multilib
>> is enabled")
>> +
>> # Do nothing if this is inherited, as it's for BBCLASSEXTEND
>> if "devupstream" not in (d.getVar('BBCLASSEXTEND') or ""):
>> bb.error("Don't inherit devupstream, use BBCLASSEXTEND")
>
>
> This is a bit of a serious problem with devupstream as it means we
> can't rely upon it for default recipes. We need to file a bug about
> this and find a way to fix it, perhaps teaching multilib about
> devupstream so it can set BBCLASSEXTEND accordingly.
I filed a bug and assigned it you:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=13424
After more investigations, it seems that we should modify
ast.py:multi_finalize(), although I file the bug in oe-core product.
// Robert
>
> Cheers,
>
> Richard
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-07-02 3:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-28 12:15 [PATCH 0/1] devupstream.bbclass: Disable devupstream when multilib is enabled Robert Yang
2019-06-28 12:03 ` Robert Yang
2019-06-28 12:15 ` [PATCH 1/1] " Robert Yang
2019-06-30 8:04 ` Richard Purdie
2019-07-02 3:35 ` Robert Yang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox