[oe] [PATCH] handle PACKAGE_ARCH change in an amend.inc

Chris Larson clarson at kergoth.com
Sun Nov 21 17:53:51 UTC 2010


2010/11/21 Eric Bénard <eric at 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



More information about the Openembedded-devel mailing list