[OE-core] [PATCH] packagegroup/allarch: Convert to use allarch class

Otavio Salvador otavio at ossystems.com.br
Mon Nov 26 11:12:10 UTC 2012


On Sun, Nov 25, 2012 at 6:23 PM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> Currently there is some odd behaviour of the packagegroup class in relation
> to sstate since it sets PACKAGE_ARCH = "all" but does not use the allarch class
> leading to it being undetected by sstate.
>
> Previously it was not possible to use allarch as the recipe couldn't "undo"
> settings made by the allarch class. Since this no longer happens when
> PACKAGE_ARCH != all, we can use the allarch class.

Now I see the usecase! :)

> This patch also fixes up one case we need to preserve TRANSLATED_TARGET_ARCH
> and ensures sstate only assumes allarch when PACKAGE_ARCH is "all".

This seems better to be split onto another patch.

> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
> diff --git a/meta/classes/packagegroup.bbclass b/meta/classes/packagegroup.bbclass
> index e0e5b1c..fc67302 100644
> --- a/meta/classes/packagegroup.bbclass
> +++ b/meta/classes/packagegroup.bbclass
> @@ -13,7 +13,7 @@ PACKAGES = "${PN}"
>  # By default, packagegroup packages do not depend on a certain architecture.
>  # Only if dependencies are modified by MACHINE_FEATURES, packages
>  # need to be set to MACHINE_ARCH after inheriting packagegroup.bbclass
> -PACKAGE_ARCH = "all"
> +inherit allarch
>
>  # This automatically adds -dbg and -dev flavours of all PACKAGES
>  # to the list. Their dependencies (RRECOMMENDS) are handled as usual
> diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
> index e1bc89d..6de35e6 100644
> --- a/meta/classes/sstate.bbclass
> +++ b/meta/classes/sstate.bbclass
> @@ -46,7 +46,7 @@ python () {
>          d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}"))
>      elif bb.data.inherits_class('cross-canadian', d):
>          d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${PACKAGE_ARCH}"))
> -    elif bb.data.inherits_class('allarch', d):
> +    elif bb.data.inherits_class('allarch', d) and d.getVar("PACKAGE_ARCH", True) == "all":
>          d.setVar('SSTATE_PKGARCH', "allarch")
>      else:
>          d.setVar('SSTATE_MANMACH', d.expand("${PACKAGE_ARCH}"))
> diff --git a/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb b/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb
> index cb2fb1a..87c7dce 100644
> --- a/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb
> +++ b/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb
> @@ -3,6 +3,9 @@ PN = "packagegroup-cross-canadian-${TRANSLATED_TARGET_ARCH}"
>  PR = "r0"
>  LICENSE = "MIT"
>
> +# Save TRANSLATED_TARGET_ARCH before allarch tramples it
> +TRANSLATED_TARGET_ARCH := "${TRANSLATED_TARGET_ARCH}"
> +
>  inherit cross-canadian packagegroup
>
>  PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



-- 
Otavio Salvador                             O.S. Systems
E-mail: otavio at ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br




More information about the Openembedded-core mailing list