Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/2][PULL] multilib: fix multiple (r)provider issue when parsing
@ 2011-09-13 11:52 Dongxiao Xu
  2011-09-13 11:52 ` [PATCH 1/2] base.bbclass: do not expand PREFERRED_PROVIDER for kernel recipe Dongxiao Xu
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Dongxiao Xu @ 2011-09-13 11:52 UTC (permalink / raw)
  To: openembedded-core

Hi Richard,

This pull request fixes the multiple provider issue when bitbake multilib image.

Please help to review and pull.

Thanks,
Dongxiao

The following changes since commit 8fce8180c802ad187c4df44c17207bfb026ce6c7:

  shadow: add patch for useradd lossage (2011-09-09 18:42:47 +0100)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib dxu4/ml2
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dxu4/ml2

Dongxiao Xu (2):
  base.bbclass: do not expand PREFERRED_PROVIDER for kernel recipe
  multilib: Remove recipe from multilib.conf that inherits allarch

 meta/classes/base.bbclass            |    4 +++-
 meta/classes/multilib_global.bbclass |    4 ++++
 meta/conf/multilib.conf              |    2 --
 3 files changed, 7 insertions(+), 3 deletions(-)




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] base.bbclass: do not expand PREFERRED_PROVIDER for kernel recipe
  2011-09-13 11:52 [PATCH 0/2][PULL] multilib: fix multiple (r)provider issue when parsing Dongxiao Xu
@ 2011-09-13 11:52 ` Dongxiao Xu
  2011-09-13 11:52 ` [PATCH 2/2] multilib: Remove recipe from multilib.conf that inherits allarch Dongxiao Xu
  2011-09-13 16:08 ` [PATCH 0/2][PULL] multilib: fix multiple (r)provider issue when parsing Richard Purdie
  2 siblings, 0 replies; 4+ messages in thread
From: Dongxiao Xu @ 2011-09-13 11:52 UTC (permalink / raw)
  To: openembedded-core

With Richard's commit f9c36392, we only build one kernel for a system,
thus we shouldn't extend PREFERRED_PROVIDER for virtual/kernel.

[YOCTO #1471]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 meta/classes/base.bbclass |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 104bec8..4ca04e2 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -181,8 +181,10 @@ def preferred_ml_updates(d):
              virt = "virtual/"
         for p in prefixes:
             newname = "PREFERRED_PROVIDER_" + virt + p + "-" + pkg
+            if pkg != "kernel":
+                val = p + "-" + val
             if not d.getVar(newname, False):
-                d.setVar(newname, p + "-" + val)
+                d.setVar(newname, val)
 
 
     mp = (d.getVar("MULTI_PROVIDER_WHITELIST", True) or "").split()
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] multilib: Remove recipe from multilib.conf that inherits allarch
  2011-09-13 11:52 [PATCH 0/2][PULL] multilib: fix multiple (r)provider issue when parsing Dongxiao Xu
  2011-09-13 11:52 ` [PATCH 1/2] base.bbclass: do not expand PREFERRED_PROVIDER for kernel recipe Dongxiao Xu
@ 2011-09-13 11:52 ` Dongxiao Xu
  2011-09-13 16:08 ` [PATCH 0/2][PULL] multilib: fix multiple (r)provider issue when parsing Richard Purdie
  2 siblings, 0 replies; 4+ messages in thread
From: Dongxiao Xu @ 2011-09-13 11:52 UTC (permalink / raw)
  To: openembedded-core

Recipes like update-rc.d and qemu-config inherit "allarch", thus we
shouldn't add multilib BBCLASSEXTEND for them in multilib.conf.

Besides, we need to add multilib packages as the RPROVIDER contents for
those recipes, in order to avoid the NoProvider error when parsing.

[YOCTO #1471]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 meta/classes/multilib_global.bbclass |    4 ++++
 meta/conf/multilib.conf              |    2 --
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/classes/multilib_global.bbclass b/meta/classes/multilib_global.bbclass
index 1263e4e..ed14565 100644
--- a/meta/classes/multilib_global.bbclass
+++ b/meta/classes/multilib_global.bbclass
@@ -7,11 +7,15 @@ python multilib_virtclass_handler_global () {
     if isinstance(e, bb.event.RecipeParsed) and not variant:
         if bb.data.inherits_class('kernel', e.data) or bb.data.inherits_class('module-base', e.data) or bb.data.inherits_class('allarch', e.data):
             origprovs = provs = e.data.getVar("PROVIDES", True)
+            rprovs = e.data.getVar("RPROVIDES", True)
             variants = (e.data.getVar("MULTILIB_VARIANTS", True) or "").split()
             for variant in variants:
                 provs = provs + " " + multilib_map_variable("PROVIDES", variant, e.data)
+                for pkg in e.data.getVar("PACKAGES", True).split():
+                    rprovs = rprovs + " " + variant + "-" + pkg
                 e.data.setVar("PROVIDES", origprovs)
             e.data.setVar("PROVIDES", provs)
+            e.data.setVar("RPROVIDES", rprovs)
 }
 
 addhandler multilib_virtclass_handler_global
diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
index f23fbb7..16db375 100644
--- a/meta/conf/multilib.conf
+++ b/meta/conf/multilib.conf
@@ -324,7 +324,6 @@ BBCLASSEXTEND_append_pn-psplash = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-pth = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-python-dbus = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-python = " ${MULTILIBS}"
-BBCLASSEXTEND_append_pn-qemu-config = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-qemugl = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-qt4-x11-free = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-quota = " ${MULTILIBS}"
@@ -394,7 +393,6 @@ BBCLASSEXTEND_append_pn-udev-extraconf = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-udev = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-unzip = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-update-modules = " ${MULTILIBS}"
-BBCLASSEXTEND_append_pn-update-rc.d = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-usbutils = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-util-linux = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-util-macros = " ${MULTILIBS}"
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2][PULL] multilib: fix multiple (r)provider issue when parsing
  2011-09-13 11:52 [PATCH 0/2][PULL] multilib: fix multiple (r)provider issue when parsing Dongxiao Xu
  2011-09-13 11:52 ` [PATCH 1/2] base.bbclass: do not expand PREFERRED_PROVIDER for kernel recipe Dongxiao Xu
  2011-09-13 11:52 ` [PATCH 2/2] multilib: Remove recipe from multilib.conf that inherits allarch Dongxiao Xu
@ 2011-09-13 16:08 ` Richard Purdie
  2 siblings, 0 replies; 4+ messages in thread
From: Richard Purdie @ 2011-09-13 16:08 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Tue, 2011-09-13 at 19:52 +0800, Dongxiao Xu wrote:
> Dongxiao Xu (2):
>   base.bbclass: do not expand PREFERRED_PROVIDER for kernel recipe
>   multilib: Remove recipe from multilib.conf that inherits allarch
> 
>  meta/classes/base.bbclass            |    4 +++-
>  meta/classes/multilib_global.bbclass |    4 ++++
>  meta/conf/multilib.conf              |    2 --
>  3 files changed, 7 insertions(+), 3 deletions(-)

Merged to master, thanks.

Richard




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-09-13 16:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-13 11:52 [PATCH 0/2][PULL] multilib: fix multiple (r)provider issue when parsing Dongxiao Xu
2011-09-13 11:52 ` [PATCH 1/2] base.bbclass: do not expand PREFERRED_PROVIDER for kernel recipe Dongxiao Xu
2011-09-13 11:52 ` [PATCH 2/2] multilib: Remove recipe from multilib.conf that inherits allarch Dongxiao Xu
2011-09-13 16:08 ` [PATCH 0/2][PULL] multilib: fix multiple (r)provider issue when parsing Richard Purdie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox