All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc.
@ 2011-09-02  9:03 Dongxiao Xu
  2011-09-02  9:03 ` [PATCH 1/5] hal: Remove build time dependency of virtual/kernel Dongxiao Xu
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Dongxiao Xu @ 2011-09-02  9:03 UTC (permalink / raw)
  To: openembedded-core

Hi Richard,

This pull request fixes several multilib bugs.
Please help to review and pull.

Thanks,
Dongxiao


The following changes since commit 06625096f897235ed85f0d9a1355497f92938454:

  scripts: Don't show errors from which ifconfig failing (2011-09-01 20:49:44 +0100)

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

Dongxiao Xu (5):
  hal: Remove build time dependency of virtual/kernel
  rootfs_rpm: setting DEFAULTTUNE for multilib archs
  multilib: set NO_MULTILIB for kernel recipes
  multilib: Using different sysroot for multilib recipes
  multilib: extend multilib prefix for libsdl

 meta/classes/kernel.bbclass      |    1 +
 meta/classes/multilib.bbclass    |   11 +++++++++++
 meta/classes/rootfs_rpm.bbclass  |    3 +++
 meta/conf/multilib.conf          |    5 ++++-
 meta/recipes-support/hal/hal.inc |    7 +++----
 5 files changed, 22 insertions(+), 5 deletions(-)




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

* [PATCH 1/5] hal: Remove build time dependency of virtual/kernel
  2011-09-02  9:03 [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc Dongxiao Xu
@ 2011-09-02  9:03 ` Dongxiao Xu
  2011-09-07  8:36   ` Koen Kooi
  2011-09-02  9:03 ` [PATCH 2/5] rootfs_rpm: setting DEFAULTTUNE for multilib archs Dongxiao Xu
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: Dongxiao Xu @ 2011-09-02  9:03 UTC (permalink / raw)
  To: openembedded-core

hal has runtime dependency on kernel, but not build time. Remove it from
"DEPENDS" list.

Also fix a wrong PACKAGE_ARCH setting when building multilib lib32-hal,
because ":=" will be extended immediately which is not the right value.
Using TUNE_PKGARCH instead.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 meta/recipes-support/hal/hal.inc |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-support/hal/hal.inc b/meta/recipes-support/hal/hal.inc
index d276d46..b00455b 100644
--- a/meta/recipes-support/hal/hal.inc
+++ b/meta/recipes-support/hal/hal.inc
@@ -6,7 +6,7 @@ SECTION = "unknown"
 LICENSE = "GPLv2+ | AFL"
 LIC_FILES_CHKSUM = "file://COPYING;md5=5b5ffd59fbb7c2fff6de76c94177af31"
 
-DEPENDS = "virtual/kernel dbus-glib udev util-linux intltool intltool-native expat libusb gperf-native"
+DEPENDS = "dbus-glib udev util-linux intltool intltool-native expat libusb gperf-native"
 RDEPENDS_${PN} += "udev hal-info"
 
 SRC_URI = "http://hal.freedesktop.org/releases/hal-${PV}.tar.gz \
@@ -30,9 +30,8 @@ EXTRA_OECONF = "--with-hwdata=${datadir}/hwdata \
                 ${@base_contains('MACHINE_FEATURES', 'acpi', '--enable-acpi', '--disable-acpi',d)} \
                "
 
-MY_ARCH := "${PACKAGE_ARCH}"
-PACKAGE_ARCH = "${@base_contains('MACHINE_FEATURES', 'acpi', '${MACHINE_ARCH}', '${MY_ARCH}',d)}"
-PACKAGE_ARCH = "${@base_contains('MACHINE_FEATURES', 'pci', '${MACHINE_ARCH}', '${MY_ARCH}',d)}"
+PACKAGE_ARCH = "${@base_contains('MACHINE_FEATURES', 'acpi', '${MACHINE_ARCH}', '${TUNE_PKGARCH}',d)}"
+PACKAGE_ARCH = "${@base_contains('MACHINE_FEATURES', 'pci', '${MACHINE_ARCH}', '${TUNE_PKGARCH}',d)}"
 
 do_install_append() {
         install -d ${D}/etc/dbus-1/event.d
-- 
1.7.1




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

* [PATCH 2/5] rootfs_rpm: setting DEFAULTTUNE for multilib archs
  2011-09-02  9:03 [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc Dongxiao Xu
  2011-09-02  9:03 ` [PATCH 1/5] hal: Remove build time dependency of virtual/kernel Dongxiao Xu
@ 2011-09-02  9:03 ` Dongxiao Xu
  2011-09-02  9:03 ` [PATCH 3/5] multilib: set NO_MULTILIB for kernel recipes Dongxiao Xu
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Dongxiao Xu @ 2011-09-02  9:03 UTC (permalink / raw)
  To: openembedded-core

To get the MULTILIB_PACKAGE_ARCHS, we need to get the corresponding
DEFAULTTUNE value. This fixes the multilib arch directory missing issue
in solvedb-ml_archs.conf.

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

diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index 7f24b9c..135ca75 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -215,6 +215,9 @@ python () {
         eext = ext.split(':')
         if len(eext) > 1 and eext[0] == 'multilib':
             localdata = bb.data.createCopy(d)
+            default_tune = localdata.getVar("DEFAULTTUNE_virtclass-multilib-" + eext[1], False)
+            if default_tune:
+                localdata.setVar("DEFAULTTUNE", default_tune)
             ml_package_archs += localdata.getVar("PACKAGE_ARCHS", True) or ""
             #bb.note("ML_PACKAGE_ARCHS %s %s %s" % (eext[1], localdata.getVar("PACKAGE_ARCHS", True) or "(none)", overrides))
     bb.data.setVar('MULTILIB_PACKAGE_ARCHS', ml_package_archs, d)
-- 
1.7.1




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

* [PATCH 3/5] multilib: set NO_MULTILIB for kernel recipes
  2011-09-02  9:03 [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc Dongxiao Xu
  2011-09-02  9:03 ` [PATCH 1/5] hal: Remove build time dependency of virtual/kernel Dongxiao Xu
  2011-09-02  9:03 ` [PATCH 2/5] rootfs_rpm: setting DEFAULTTUNE for multilib archs Dongxiao Xu
@ 2011-09-02  9:03 ` Dongxiao Xu
  2011-09-02  9:03 ` [PATCH 4/5] multilib: Using different sysroot for multilib recipes Dongxiao Xu
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Dongxiao Xu @ 2011-09-02  9:03 UTC (permalink / raw)
  To: openembedded-core

Kernel in a Linux system shouldn't be multilib, thus setting NO_MULTILIB
flag for kernel.bbclass. Besides if other recipes have dependency on
virtual/kernel or kernel-module-*, we don't extend name for them.

Some part of the commit is derived from Ke's prototype in:
http://bugzilla.pokylinux.org/show_bug.cgi?id=1361

[YOCTO #1361]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Yu Ke <ke.yu@intel.com>
---
 meta/classes/kernel.bbclass   |    1 +
 meta/classes/multilib.bbclass |   11 +++++++++++
 meta/conf/multilib.conf       |    1 -
 3 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index bc1baa0..d522b4c 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -9,6 +9,7 @@ INHIBIT_DEFAULT_DEPS = "1"
 KERNEL_IMAGETYPE ?= "zImage"
 INITRAMFS_IMAGE ?= ""
 INITRAMFS_TASK ?= ""
+NO_MULTILIB = "1"
 
 python __anonymous () {
     kerneltype = bb.data.getVar('KERNEL_IMAGETYPE', d, 1) or ''
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 5d975fd..1908aa1 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -6,6 +6,11 @@ python multilib_virtclass_handler () {
     variant = e.data.getVar("BBEXTENDVARIANT", True)
     if cls != "multilib" or not variant:
         return
+
+    if e.data.getVar("NO_MULTILIB", True) == "1":
+        bb.warn("NO_MULTILIB is set for %s, using the default instead." % e.data.getVar("PN", True))
+        return
+
     save_var_name=e.data.getVar("MULTILIB_SAVE_VARNAME", True) or ""
     for name in save_var_name.split():
         val=e.data.getVar(name, True)
@@ -28,7 +33,13 @@ STAGINGCC_prepend = "${BBEXTENDVARIANT}-"
 python __anonymous () {
     variant = d.getVar("BBEXTENDVARIANT", True)
 
+    if d.getVar("NO_MULTILIB", True) == "1":
+        bb.warn("NO_MULTILIB is set for %s, using the default instead." % d.getVar("PN", True))
+        return
+
     def extend_name(name):
+        if name == "virtual/kernel" or name.startswith("kernel-module"):
+            return name
         if name.startswith("virtual/"):
             subs = name.split("/", 1)[1]
             if not subs.startswith(variant):
diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
index 36793d2..9fca715 100644
--- a/meta/conf/multilib.conf
+++ b/meta/conf/multilib.conf
@@ -237,7 +237,6 @@ BBCLASSEXTEND_append_pn-libxxf86vm = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-libzypp = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-lighttpd = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-linux-libc-headers = " ${MULTILIBS}"
-BBCLASSEXTEND_append_pn-linux-yocto = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-logrotate = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-lrzsz = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-lsb = " ${MULTILIBS}"
-- 
1.7.1




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

* [PATCH 4/5] multilib: Using different sysroot for multilib recipes
  2011-09-02  9:03 [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc Dongxiao Xu
                   ` (2 preceding siblings ...)
  2011-09-02  9:03 ` [PATCH 3/5] multilib: set NO_MULTILIB for kernel recipes Dongxiao Xu
@ 2011-09-02  9:03 ` Dongxiao Xu
  2011-09-02  9:03 ` [PATCH 5/5] multilib: extend multilib prefix for libsdl Dongxiao Xu
  2011-09-02 17:19 ` [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc Richard Purdie
  5 siblings, 0 replies; 9+ messages in thread
From: Dongxiao Xu @ 2011-09-02  9:03 UTC (permalink / raw)
  To: openembedded-core

Thinking of the senario that, if we already built out a 64bit image
along with the full toolchain bootstrapped, then we need to build some
32bit libraries, which needs lib32 versions of gcc and eglibc. These
toolchain recipes will bootstrap again in the same sysroot, resulting
that lib32-gcc-cross-initial will find some macros owned by eglibc have
already been defined and thus it includes non-existed headers that
provided by later lib32-eglibc.

The solution for the above issue is to use different sysroot for
multilib recipes, here we add ${MLPREFIX} in front of the machine
specific sysroot directory name.

[YOCTO #1372]

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

diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
index 9fca715..5329eda 100644
--- a/meta/conf/multilib.conf
+++ b/meta/conf/multilib.conf
@@ -6,6 +6,9 @@ MULTILIB_SAVE_VARNAME = "DEFAULTTUNE"
 
 MULTILIBS ??= "multilib:lib32"
 
+STAGING_DIR_HOST = "${STAGING_DIR}/${MLPREFIX}${MACHINE}"
+STAGING_DIR_TARGET = "${STAGING_DIR}/${MLPREFIX}${MACHINE}"
+
 BBCLASSEXTEND_append_pn-acl = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-alsa-lib = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-alsa-utils = " ${MULTILIBS}"
-- 
1.7.1




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

* [PATCH 5/5] multilib: extend multilib prefix for libsdl
  2011-09-02  9:03 [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc Dongxiao Xu
                   ` (3 preceding siblings ...)
  2011-09-02  9:03 ` [PATCH 4/5] multilib: Using different sysroot for multilib recipes Dongxiao Xu
@ 2011-09-02  9:03 ` Dongxiao Xu
  2011-09-02 17:19 ` [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc Richard Purdie
  5 siblings, 0 replies; 9+ messages in thread
From: Dongxiao Xu @ 2011-09-02  9:03 UTC (permalink / raw)
  To: openembedded-core

libsdl is required by sato image, so extend it for multilib.

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

diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
index 5329eda..62bdfec 100644
--- a/meta/conf/multilib.conf
+++ b/meta/conf/multilib.conf
@@ -450,3 +450,4 @@ BBCLASSEXTEND_append_pn-xwininfo = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-zip = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-zlib = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-zypper = " ${MULTILIBS}"
+BBCLASSEXTEND_append_pn-libsdl = " ${MULTILIBS}"
-- 
1.7.1




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

* Re: [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc.
  2011-09-02  9:03 [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc Dongxiao Xu
                   ` (4 preceding siblings ...)
  2011-09-02  9:03 ` [PATCH 5/5] multilib: extend multilib prefix for libsdl Dongxiao Xu
@ 2011-09-02 17:19 ` Richard Purdie
  5 siblings, 0 replies; 9+ messages in thread
From: Richard Purdie @ 2011-09-02 17:19 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, 2011-09-02 at 17:03 +0800, Dongxiao Xu wrote:
> Hi Richard,
> 
> This pull request fixes several multilib bugs.
> Please help to review and pull.
> 
> Thanks,
> Dongxiao
> 
> 
> The following changes since commit 06625096f897235ed85f0d9a1355497f92938454:
> 
>   scripts: Don't show errors from which ifconfig failing (2011-09-01 20:49:44 +0100)
> 
> are available in the git repository at:
>   git://git.pokylinux.org/poky-contrib dxu4/ml
>   http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dxu4/ml
> 
> Dongxiao Xu (5):
>   hal: Remove build time dependency of virtual/kernel
>   rootfs_rpm: setting DEFAULTTUNE for multilib archs
>   multilib: set NO_MULTILIB for kernel recipes
>   multilib: Using different sysroot for multilib recipes
>   multilib: extend multilib prefix for libsdl

I took these apart from the NO_MULTILIB one since I have a different
solution in mind for that one (which we can extend to all arch
packages).

Cheers,

Richard




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

* Re: [PATCH 1/5] hal: Remove build time dependency of virtual/kernel
  2011-09-02  9:03 ` [PATCH 1/5] hal: Remove build time dependency of virtual/kernel Dongxiao Xu
@ 2011-09-07  8:36   ` Koen Kooi
  2011-09-07  8:44     ` Xu, Dongxiao
  0 siblings, 1 reply; 9+ messages in thread
From: Koen Kooi @ 2011-09-07  8:36 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer


Op 2 sep. 2011, om 11:03 heeft Dongxiao Xu het volgende geschreven:

> hal has runtime dependency on kernel, but not build time. Remove it from
> "DEPENDS" list.
> 
> Also fix a wrong PACKAGE_ARCH setting when building multilib lib32-hal,
> because ":=" will be extended immediately which is not the right value.
> Using TUNE_PKGARCH instead.

After this patch it fails to build with:

| probe-video4linux.c:33:28: fatal error: linux/videodev.h: No such file or directory

Which does look like a kernel header to me


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

* Re: [PATCH 1/5] hal: Remove build time dependency of virtual/kernel
  2011-09-07  8:36   ` Koen Kooi
@ 2011-09-07  8:44     ` Xu, Dongxiao
  0 siblings, 0 replies; 9+ messages in thread
From: Xu, Dongxiao @ 2011-09-07  8:44 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
> Koen Kooi
> Sent: Wednesday, September 07, 2011 4:36 PM
> To: Patches and discussions about the oe-core layer
> Subject: Re: [OE-core] [PATCH 1/5] hal: Remove build time dependency of
> virtual/kernel
> 
> 
> Op 2 sep. 2011, om 11:03 heeft Dongxiao Xu het volgende geschreven:
> 
> > hal has runtime dependency on kernel, but not build time. Remove it
> > from "DEPENDS" list.
> >
> > Also fix a wrong PACKAGE_ARCH setting when building multilib
> > lib32-hal, because ":=" will be extended immediately which is not the right
> value.
> > Using TUNE_PKGARCH instead.
> 
> After this patch it fails to build with:
> 
> | probe-video4linux.c:33:28: fatal error: linux/videodev.h: No such file
> | or directory
> 
> Which does look like a kernel header to me

Thanks Koen, it seems that we still need to draw back "virtual/kernel" as hal's DEPENDS.

Thanks,
Dongxiao

> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



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

end of thread, other threads:[~2011-09-07  8:50 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-02  9:03 [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc Dongxiao Xu
2011-09-02  9:03 ` [PATCH 1/5] hal: Remove build time dependency of virtual/kernel Dongxiao Xu
2011-09-07  8:36   ` Koen Kooi
2011-09-07  8:44     ` Xu, Dongxiao
2011-09-02  9:03 ` [PATCH 2/5] rootfs_rpm: setting DEFAULTTUNE for multilib archs Dongxiao Xu
2011-09-02  9:03 ` [PATCH 3/5] multilib: set NO_MULTILIB for kernel recipes Dongxiao Xu
2011-09-02  9:03 ` [PATCH 4/5] multilib: Using different sysroot for multilib recipes Dongxiao Xu
2011-09-02  9:03 ` [PATCH 5/5] multilib: extend multilib prefix for libsdl Dongxiao Xu
2011-09-02 17:19 ` [PATCH 0/5][PULL] multilib: bug fixes related with kernel, sysroot, rpm, etc Richard Purdie

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.