[OE-core] [RFC][PATCH] bitbake.conf: make OVERRIDES match what people expect
Richard Purdie
richard.purdie at linuxfoundation.org
Tue May 24 14:16:35 UTC 2011
On Tue, 2011-05-24 at 16:04 +0200, Koen Kooi wrote:
> In the current situation TARGET_ARCH will override MACHINE, which is counter intuitive since the machine is more specific than the arch.
>
> The order is now pn-$PN} -> arch -> machine -> distro as the machine is a set of defaults and the distro is the ultimate policy.
>
> 'failfast' has been removed since it's not used anymore, just like 'local'
I've been thinking through the different use cases and briefly talked
with Koen offlist about this. I think the revised order makes sense with
what users would expect and am happy to remove local and fail-fast as
overrides since we don't have people using them (local is pretty
weak/useless and fail-fast has only ever been used by gcc recipes
afaik).
Its a potentially disruptive change but one I do think we need to make.
We don't have many double/stacked overrides so there shouldn't be much
impact to existing metadata.
Cheers,
Richard
> ---
> meta/conf/bitbake.conf | 12 ++++++------
> 1 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index a0af672..59238b8 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -602,15 +602,15 @@ AUTO_LIBNAME_PKGS = "${PACKAGES}"
> #
> # This means that an envionment variable named '<foo>_arm' overrides an
> # environment variable '<foo>' (when ${TARGET_ARCH} is arm).
> -# An environment variable '<foo>_ramses' overrides '<foo>' but doesn't override
> -# '<foo>_arm' when ${MACHINE} is 'ramses'.
> -# If you use combination ie '<foo>_arm_ramses', then '<foo>_arm_ramses' will override
> -# '<foo>_arm' and then '<foo>' will be overriden with that value from '<foo>_arm'.
> -# And finally '<foo>_local' overrides any standard variable, but with lowest priority.
> +# An environment variable '<foo>_qemuarm' overrides '<foo>' and overrides
> +# '<foo>_arm' when ${MACHINE} is 'qemuarm'.
> +# If you use combination ie '<foo>_qemuarm_arm', then '<foo>_qemuarm_arm' will override
> +# '<foo>_qemuarm' and then '<foo>' will be overriden with that value from '<foo>_qemuarm'.
> +# And finally '<foo>_forcevariable' overrides any standard variable, with the highest priority.
> #
> # This works for functions as well, they are really just environment variables.
> # Default OVERRIDES to make compilation fail fast in case of build system misconfiguration.
> -OVERRIDES = "local:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}:forcevariable"
> +OVERRIDES = "${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:forcevariable"
> DISTROOVERRIDES ?= "${DISTRO}"
> MACHINEOVERRIDES ?= "${MACHINE}"
>
More information about the Openembedded-core
mailing list