All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] amend.bbclass: handle PACKAGE_ARCH change in an amend.inc
@ 2010-11-17 13:55 Eric Bénard
  2010-11-18 18:03 ` Denys Dmytriyenko
  0 siblings, 1 reply; 10+ messages in thread
From: Eric Bénard @ 2010-11-17 13:55 UTC (permalink / raw)
  To: openembedded-devel

* setting PACKAGE_ARCH = "${MACHINE_ARCH}" in and amend.inc actually
leads to a packaga with the correct machine arch but the
work/stage/stamp dirs are not correct because MULTIMACH_ARCH is not
updated after amend.inc is parsed.

* this patch updates MULTIMACH_ARCH if PACKAGE_ARCH is changed in
amend.inc

Signed-off-by: Eric Bénard <eric@eukrea.com>
---
 classes/amend.bbclass |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/classes/amend.bbclass b/classes/amend.bbclass
index a03de64..da60611 100644
--- a/classes/amend.bbclass
+++ b/classes/amend.bbclass
@@ -42,5 +42,11 @@ python () {
             depends = set()
         depends |= set(newdata)
     d.setVar("__depends", depends)
+
+    mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
+    pkg_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
+    multi_arch = bb.data.getVar('MULTIMACH_ARCH', d, 1)
+    if pkg_arch and pkg_arch == mach_arch and pkg_arch != multi_arch:
+        multi_arch = pkg_arch
+        bb.data.setVar('MULTIMACH_ARCH', multi_arch, d)
 }
-- 
1.7.2.3




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

* Re: [PATCH] amend.bbclass: handle PACKAGE_ARCH change in an amend.inc
  2010-11-17 13:55 [PATCH] amend.bbclass: handle PACKAGE_ARCH change in an amend.inc Eric Bénard
@ 2010-11-18 18:03 ` Denys Dmytriyenko
  2010-11-18 18:11   ` Eric Bénard
  0 siblings, 1 reply; 10+ messages in thread
From: Denys Dmytriyenko @ 2010-11-18 18:03 UTC (permalink / raw)
  To: openembedded-devel

On Wed, Nov 17, 2010 at 02:55:40PM +0100, Eric B??nard wrote:
> * setting PACKAGE_ARCH = "${MACHINE_ARCH}" in and amend.inc actually
> leads to a packaga with the correct machine arch but the
> work/stage/stamp dirs are not correct because MULTIMACH_ARCH is not
> updated after amend.inc is parsed.
> 
> * this patch updates MULTIMACH_ARCH if PACKAGE_ARCH is changed in
> amend.inc
> 
> Signed-off-by: Eric B??nard <eric@eukrea.com>

Thanks! We have faced this issue before.

Acked-by: Denys Dmytriyenko <denis@denix.org>

> ---
>  classes/amend.bbclass |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/classes/amend.bbclass b/classes/amend.bbclass
> index a03de64..da60611 100644
> --- a/classes/amend.bbclass
> +++ b/classes/amend.bbclass
> @@ -42,5 +42,11 @@ python () {
>              depends = set()
>          depends |= set(newdata)
>      d.setVar("__depends", depends)
> +
> +    mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
> +    pkg_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
> +    multi_arch = bb.data.getVar('MULTIMACH_ARCH', d, 1)
> +    if pkg_arch and pkg_arch == mach_arch and pkg_arch != multi_arch:
> +        multi_arch = pkg_arch
> +        bb.data.setVar('MULTIMACH_ARCH', multi_arch, d)
>  }
> -- 
> 1.7.2.3
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel



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

* Re: [PATCH] amend.bbclass: handle PACKAGE_ARCH change in an amend.inc
  2010-11-18 18:03 ` Denys Dmytriyenko
@ 2010-11-18 18:11   ` Eric Bénard
  2010-11-18 18:46     ` Paul Menzel
  2010-11-21 15:19     ` [PATCH] " Eric Bénard
  0 siblings, 2 replies; 10+ messages in thread
From: Eric Bénard @ 2010-11-18 18:11 UTC (permalink / raw)
  To: openembedded-devel

On 18/11/2010 19:03, Denys Dmytriyenko wrote:
> On Wed, Nov 17, 2010 at 02:55:40PM +0100, Eric B??nard wrote:
>> * setting PACKAGE_ARCH = "${MACHINE_ARCH}" in and amend.inc actually
>> leads to a packaga with the correct machine arch but the
>> work/stage/stamp dirs are not correct because MULTIMACH_ARCH is not
>> updated after amend.inc is parsed.
>>
>> * this patch updates MULTIMACH_ARCH if PACKAGE_ARCH is changed in
>> amend.inc
>>
>> Signed-off-by: Eric B??nard<eric@eukrea.com>
>
> Thanks! We have faced this issue before.
>
> Acked-by: Denys Dmytriyenko<denis@denix.org>

I'm working on an update version after discussion with Kergoth on IRC. I hope 
to send it for review by tomorrow.

Eric



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

* Re: [PATCH] amend.bbclass: handle PACKAGE_ARCH change in an amend.inc
  2010-11-18 18:11   ` Eric Bénard
@ 2010-11-18 18:46     ` Paul Menzel
  2010-11-21 15:19     ` [PATCH] " Eric Bénard
  1 sibling, 0 replies; 10+ messages in thread
From: Paul Menzel @ 2010-11-18 18:46 UTC (permalink / raw)
  To: openembedded-devel

[-- Attachment #1: Type: text/plain, Size: 939 bytes --]

Am Donnerstag, den 18.11.2010, 19:11 +0100 schrieb Eric Bénard:
> On 18/11/2010 19:03, Denys Dmytriyenko wrote:
> > On Wed, Nov 17, 2010 at 02:55:40PM +0100, Eric B??nard wrote:
> >> * setting PACKAGE_ARCH = "${MACHINE_ARCH}" in and amend.inc actually
> >> leads to a packaga with the correct machine arch but the

s/packaga/package/

> >> work/stage/stamp dirs are not correct because MULTIMACH_ARCH is not
> >> updated after amend.inc is parsed.
> >>
> >> * this patch updates MULTIMACH_ARCH if PACKAGE_ARCH is changed in
> >> amend.inc
> >>
> >> Signed-off-by: Eric B??nard<eric@eukrea.com>
> >
> > Thanks! We have faced this issue before.
> >
> > Acked-by: Denys Dmytriyenko<denis@denix.org>
> 
> I'm working on an update version after discussion with Kergoth on IRC. I hope 
> to send it for review by tomorrow.

Just pointing out the typo above since you are going to update the
patch.


Thanks,

Paul

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

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

* [PATCH] handle PACKAGE_ARCH change in an amend.inc
  2010-11-18 18:11   ` Eric Bénard
  2010-11-18 18:46     ` Paul Menzel
@ 2010-11-21 15:19     ` Eric Bénard
  2010-11-21 16:28       ` Khem Raj
  2010-11-21 17:53       ` Chris Larson
  1 sibling, 2 replies; 10+ messages in thread
From: Eric Bénard @ 2010-11-21 15:19 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Eric Bénard

* setting PACKAGE_ARCH = "${MACHINE_ARCH}" in an amend.inc actually
leads to a package with the correct machine arch but the
work/stage/stamp dirs are not correct because MULTIMACH_ARCH is not
updated after amend.inc is parsed.

* this patch :
- factorizes the code which compute MULTIMACH_ARCH in base.bbclass
- updates MULTIMACH_ARCH if required by an amend.inc

Signed-off-by: Eric Bénard <eric@eukrea.com>
---
 classes/amend.bbclass |    2 +
 classes/base.bbclass  |   53 ++++++++++++++++++++++++++----------------------
 2 files changed, 31 insertions(+), 24 deletions(-)

diff --git a/classes/amend.bbclass b/classes/amend.bbclass
index a03de64..048a8f3 100644
--- a/classes/amend.bbclass
+++ b/classes/amend.bbclass
@@ -42,4 +42,6 @@ python () {
             depends = set()
         depends |= set(newdata)
     d.setVar("__depends", depends)
+
+    set_multimach_arch(d)
 }
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 308498f..90a481b 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -288,6 +288,34 @@ addtask build
 do_build = ""
 do_build[func] = "1"
 
+def set_multimach_arch(d):
+    # 'multimachine' handling
+    mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
+    pkg_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
+
+    #
+    # We always try to scan SRC_URI for urls with machine overrides
+    # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
+    #
+    override = bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1)
+    if override != '0' and is_machine_specific(d):
+        bb.data.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}", d)
+        bb.data.setVar('MULTIMACH_ARCH', mach_arch, d)
+        return
+
+    multiarch = pkg_arch
+
+    packages = bb.data.getVar('PACKAGES', d, 1).split()
+    for pkg in packages:
+        pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
+
+        # We could look for != PACKAGE_ARCH here but how to choose
+        # if multiple differences are present?
+        # Look through PACKAGE_ARCHS for the priority order?
+        if pkgarch and pkgarch == mach_arch:
+            multiarch = mach_arch
+            break
+
 python () {
     import exceptions
 
@@ -363,30 +391,7 @@ python () {
         # Already machine specific - nothing further to do
         return
 
-    #
-    # We always try to scan SRC_URI for urls with machine overrides
-    # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
-    #
-    override = bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1)
-    if override != '0' and is_machine_specific(d):
-        bb.data.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}", d)
-        bb.data.setVar('MULTIMACH_ARCH', mach_arch, d)
-        return
-
-    multiarch = pkg_arch
-
-    packages = bb.data.getVar('PACKAGES', d, 1).split()
-    for pkg in packages:
-        pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
-
-        # We could look for != PACKAGE_ARCH here but how to choose
-        # if multiple differences are present?
-        # Look through PACKAGE_ARCHS for the priority order?
-        if pkgarch and pkgarch == mach_arch:
-            multiarch = mach_arch
-            break
-
-    bb.data.setVar('MULTIMACH_ARCH', multiarch, d)
+    set_multimach_arch(d)
 }
 
 EXPORT_FUNCTIONS do_setscene do_fetch do_unpack do_configure do_compile do_install do_package
-- 
1.6.3.3




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

* Re: [PATCH] handle PACKAGE_ARCH change in an amend.inc
  2010-11-21 15:19     ` [PATCH] " Eric Bénard
@ 2010-11-21 16:28       ` Khem Raj
  2010-11-21 17:53       ` Chris Larson
  1 sibling, 0 replies; 10+ messages in thread
From: Khem Raj @ 2010-11-21 16:28 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Eric Bénard

2010/11/21 Eric Bénard <eric@eukrea.com>:
> * setting PACKAGE_ARCH = "${MACHINE_ARCH}" in an amend.inc actually
> leads to a package with the correct machine arch but the
> work/stage/stamp dirs are not correct because MULTIMACH_ARCH is not
> updated after amend.inc is parsed.
>
> * this patch :
> - factorizes the code which compute MULTIMACH_ARCH in base.bbclass
> - updates MULTIMACH_ARCH if required by an amend.inc
>
> Signed-off-by: Eric Bénard <eric@eukrea.com>

Acked-by: Khem Raj <raj.khem@gmail.com>


> ---
>  classes/amend.bbclass |    2 +
>  classes/base.bbclass  |   53 ++++++++++++++++++++++++++----------------------
>  2 files changed, 31 insertions(+), 24 deletions(-)
>
> diff --git a/classes/amend.bbclass b/classes/amend.bbclass
> index a03de64..048a8f3 100644
> --- a/classes/amend.bbclass
> +++ b/classes/amend.bbclass
> @@ -42,4 +42,6 @@ python () {
>             depends = set()
>         depends |= set(newdata)
>     d.setVar("__depends", depends)
> +
> +    set_multimach_arch(d)
>  }
> diff --git a/classes/base.bbclass b/classes/base.bbclass
> index 308498f..90a481b 100644
> --- a/classes/base.bbclass
> +++ b/classes/base.bbclass
> @@ -288,6 +288,34 @@ addtask build
>  do_build = ""
>  do_build[func] = "1"
>
> +def set_multimach_arch(d):
> +    # 'multimachine' handling
> +    mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
> +    pkg_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
> +
> +    #
> +    # We always try to scan SRC_URI for urls with machine overrides
> +    # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
> +    #
> +    override = bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1)
> +    if override != '0' and is_machine_specific(d):
> +        bb.data.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}", d)
> +        bb.data.setVar('MULTIMACH_ARCH', mach_arch, d)
> +        return
> +
> +    multiarch = pkg_arch
> +
> +    packages = bb.data.getVar('PACKAGES', d, 1).split()
> +    for pkg in packages:
> +        pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
> +
> +        # We could look for != PACKAGE_ARCH here but how to choose
> +        # if multiple differences are present?
> +        # Look through PACKAGE_ARCHS for the priority order?
> +        if pkgarch and pkgarch == mach_arch:
> +            multiarch = mach_arch
> +            break
> +
>  python () {
>     import exceptions
>
> @@ -363,30 +391,7 @@ python () {
>         # Already machine specific - nothing further to do
>         return
>
> -    #
> -    # We always try to scan SRC_URI for urls with machine overrides
> -    # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
> -    #
> -    override = bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1)
> -    if override != '0' and is_machine_specific(d):
> -        bb.data.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}", d)
> -        bb.data.setVar('MULTIMACH_ARCH', mach_arch, d)
> -        return
> -
> -    multiarch = pkg_arch
> -
> -    packages = bb.data.getVar('PACKAGES', d, 1).split()
> -    for pkg in packages:
> -        pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
> -
> -        # We could look for != PACKAGE_ARCH here but how to choose
> -        # if multiple differences are present?
> -        # Look through PACKAGE_ARCHS for the priority order?
> -        if pkgarch and pkgarch == mach_arch:
> -            multiarch = mach_arch
> -            break
> -
> -    bb.data.setVar('MULTIMACH_ARCH', multiarch, d)
> +    set_multimach_arch(d)
>  }
>
>  EXPORT_FUNCTIONS do_setscene do_fetch do_unpack do_configure do_compile do_install do_package
> --
> 1.6.3.3
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>



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

* Re: [PATCH] handle PACKAGE_ARCH change in an amend.inc
  2010-11-21 15:19     ` [PATCH] " Eric Bénard
  2010-11-21 16:28       ` Khem Raj
@ 2010-11-21 17:53       ` Chris Larson
  2010-11-21 18:46         ` Eric Bénard
  2010-11-21 19:42         ` Eric Bénard
  1 sibling, 2 replies; 10+ messages in thread
From: Chris Larson @ 2010-11-21 17:53 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Eric Bénard

2010/11/21 Eric Bénard <eric@eukrea.com>

> +    #
> +    # We always try to scan SRC_URI for urls with machine overrides
> +    # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
> +    #
> +    override = bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1)
> +    if override != '0' and is_machine_specific(d):
> +        bb.data.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}", d)
> +        bb.data.setVar('MULTIMACH_ARCH', mach_arch, d)
> +        return
> +
> +    multiarch = pkg_arch
> +
> +    packages = bb.data.getVar('PACKAGES', d, 1).split()
> +    for pkg in packages:
> +        pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
> +
> +        # We could look for != PACKAGE_ARCH here but how to choose
> +        # if multiple differences are present?
> +        # Look through PACKAGE_ARCHS for the priority order?
> +        if pkgarch and pkgarch == mach_arch:
> +            multiarch = mach_arch
> +            break
> +
>

This is wrong.  You do the loop here, set multiarch = mach_arch, and then
never do anything with multiarch.  If this function is really supposed to be
setting MULTIMACH_ARCH, then you need to do so here as well.
 bb.data.setVar("MULTIMACH_ARCH", multiarch, d)
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics


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

* Re: [PATCH] handle PACKAGE_ARCH change in an amend.inc
  2010-11-21 17:53       ` Chris Larson
@ 2010-11-21 18:46         ` Eric Bénard
  2010-11-21 19:42         ` Eric Bénard
  1 sibling, 0 replies; 10+ messages in thread
From: Eric Bénard @ 2010-11-21 18:46 UTC (permalink / raw)
  To: openembedded-devel

On 21/11/2010 18:53, Chris Larson wrote:
> 2010/11/21 Eric Bénard<eric@eukrea.com>
>
>> +    #
>> +    # We always try to scan SRC_URI for urls with machine overrides
>> +    # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
>> +    #
>> +    override = bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1)
>> +    if override != '0' and is_machine_specific(d):
>> +        bb.data.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}", d)
>> +        bb.data.setVar('MULTIMACH_ARCH', mach_arch, d)
>> +        return
>> +
>> +    multiarch = pkg_arch
>> +
>> +    packages = bb.data.getVar('PACKAGES', d, 1).split()
>> +    for pkg in packages:
>> +        pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
>> +
>> +        # We could look for != PACKAGE_ARCH here but how to choose
>> +        # if multiple differences are present?
>> +        # Look through PACKAGE_ARCHS for the priority order?
>> +        if pkgarch and pkgarch == mach_arch:
>> +            multiarch = mach_arch
>> +            break
>> +
>>
>
> This is wrong.  You do the loop here, set multiarch = mach_arch, and then
> never do anything with multiarch.  If this function is really supposed to be
> setting MULTIMACH_ARCH, then you need to do so here as well.
>   bb.data.setVar("MULTIMACH_ARCH", multiarch, d)

you're right, I forget the last line when moving the block to set_multimach_arch .

Eric



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

* [PATCH] handle PACKAGE_ARCH change in an amend.inc
  2010-11-21 17:53       ` Chris Larson
  2010-11-21 18:46         ` Eric Bénard
@ 2010-11-21 19:42         ` Eric Bénard
  2010-11-21 23:16           ` Chris Larson
  1 sibling, 1 reply; 10+ messages in thread
From: Eric Bénard @ 2010-11-21 19:42 UTC (permalink / raw)
  To: openembedded-devel

* setting PACKAGE_ARCH = "${MACHINE_ARCH}" in an amend.inc actually
leads to a package with the correct machine arch but the
work/stage/stamp dirs are not correct because MULTIMACH_ARCH is not
updated after amend.inc is parsed.

* this patch :
- factorizes the code which compute MULTIMACH_ARCH in base.bbclass
- updates MULTIMACH_ARCH if required by an amend.inc

Signed-off-by: Eric Bénard <eric@eukrea.com>
---
 classes/amend.bbclass |    2 +
 classes/base.bbclass  |   55 +++++++++++++++++++++++++++---------------------
 2 files changed, 33 insertions(+), 24 deletions(-)

diff --git a/classes/amend.bbclass b/classes/amend.bbclass
index a03de64..048a8f3 100644
--- a/classes/amend.bbclass
+++ b/classes/amend.bbclass
@@ -42,4 +42,6 @@ python () {
             depends = set()
         depends |= set(newdata)
     d.setVar("__depends", depends)
+
+    set_multimach_arch(d)
 }
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 308498f..7f58b17 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -288,6 +288,36 @@ addtask build
 do_build = ""
 do_build[func] = "1"
 
+def set_multimach_arch(d):
+    # 'multimachine' handling
+    mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
+    pkg_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
+
+    #
+    # We always try to scan SRC_URI for urls with machine overrides
+    # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
+    #
+    override = bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1)
+    if override != '0' and is_machine_specific(d):
+        bb.data.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}", d)
+        bb.data.setVar('MULTIMACH_ARCH', mach_arch, d)
+        return
+
+    multiarch = pkg_arch
+
+    packages = bb.data.getVar('PACKAGES', d, 1).split()
+    for pkg in packages:
+        pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
+
+        # We could look for != PACKAGE_ARCH here but how to choose
+        # if multiple differences are present?
+        # Look through PACKAGE_ARCHS for the priority order?
+        if pkgarch and pkgarch == mach_arch:
+            multiarch = mach_arch
+            break
+
+    bb.data.setVar('MULTIMACH_ARCH', multiarch, d)
+
 python () {
     import exceptions
 
@@ -363,30 +393,7 @@ python () {
         # Already machine specific - nothing further to do
         return
 
-    #
-    # We always try to scan SRC_URI for urls with machine overrides
-    # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
-    #
-    override = bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1)
-    if override != '0' and is_machine_specific(d):
-        bb.data.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}", d)
-        bb.data.setVar('MULTIMACH_ARCH', mach_arch, d)
-        return
-
-    multiarch = pkg_arch
-
-    packages = bb.data.getVar('PACKAGES', d, 1).split()
-    for pkg in packages:
-        pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
-
-        # We could look for != PACKAGE_ARCH here but how to choose
-        # if multiple differences are present?
-        # Look through PACKAGE_ARCHS for the priority order?
-        if pkgarch and pkgarch == mach_arch:
-            multiarch = mach_arch
-            break
-
-    bb.data.setVar('MULTIMACH_ARCH', multiarch, d)
+    set_multimach_arch(d)
 }
 
 EXPORT_FUNCTIONS do_setscene do_fetch do_unpack do_configure do_compile do_install do_package
-- 
1.6.3.3




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

* Re: [PATCH] handle PACKAGE_ARCH change in an amend.inc
  2010-11-21 19:42         ` Eric Bénard
@ 2010-11-21 23:16           ` Chris Larson
  0 siblings, 0 replies; 10+ messages in thread
From: Chris Larson @ 2010-11-21 23:16 UTC (permalink / raw)
  To: openembedded-devel

On Sun, Nov 21, 2010 at 12:42 PM, Eric Bénard <eric@eukrea.com> wrote:

> * setting PACKAGE_ARCH = "${MACHINE_ARCH}" in an amend.inc actually
> leads to a package with the correct machine arch but the
> work/stage/stamp dirs are not correct because MULTIMACH_ARCH is not
> updated after amend.inc is parsed.
>
> * this patch :
> - factorizes the code which compute MULTIMACH_ARCH in base.bbclass
> - updates MULTIMACH_ARCH if required by an amend.inc
>
> Signed-off-by: Eric Bénard <eric@eukrea.com>


Acked-by: Chris Larson <chris_larson@mentor.com>

-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics


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

end of thread, other threads:[~2010-11-21 23:18 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-17 13:55 [PATCH] amend.bbclass: handle PACKAGE_ARCH change in an amend.inc Eric Bénard
2010-11-18 18:03 ` Denys Dmytriyenko
2010-11-18 18:11   ` Eric Bénard
2010-11-18 18:46     ` Paul Menzel
2010-11-21 15:19     ` [PATCH] " Eric Bénard
2010-11-21 16:28       ` Khem Raj
2010-11-21 17:53       ` Chris Larson
2010-11-21 18:46         ` Eric Bénard
2010-11-21 19:42         ` Eric Bénard
2010-11-21 23:16           ` Chris Larson

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.