[OE-core] [PATCH] kernel.bbclass, base.bbclass: Fix support for old kernel configuration
Alexandre Belloni
alexandre.belloni at free-electrons.com
Wed Feb 12 16:29:21 UTC 2014
On 12/02/2014 at 13:54:17 -0200, Otavio Salvador wrote :
> This solves a regression introduced by OE-Core:9b75f6a (kernel:
> use oldnoconfig before yes '' | make oldconfig).
>
> The original oe_runmake explicitly calls 'die' command in case of
> failure so the fallback code never runs. The fallback code needs
> to handle the oe_runmake return code to call the backward
> compatible callback so we introduced a new command called
> oe_runmake_call which is used by oe_runmake.
>
> This does not change the functional behaviour of oe_runmake so it
> avoids any change except for the code which does need to handle
> the oe_runmake exit code.
>
> Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
I'm fine with that patch and I'm sorry for the breakage. I tested
"make oldnoconfig || yes '' | make oldconfig" outside of oe as I don't
have any instance of yocto using a kernel older than 3.10 and assumed
oe_runmake was simply calling make with the correct environment...
Acked-by: Alexandre Belloni <alexandre.belloni at free-electrons.com>
> ---
> meta/classes/base.bbclass | 8 ++++++--
> meta/classes/kernel.bbclass | 2 +-
> 2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> index 81fc305..7837c89 100644
> --- a/meta/classes/base.bbclass
> +++ b/meta/classes/base.bbclass
> @@ -53,9 +53,13 @@ die() {
> bbfatal "$*"
> }
>
> -oe_runmake() {
> +oe_runmake_call() {
> bbnote ${MAKE} ${EXTRA_OEMAKE} "$@"
> - ${MAKE} ${EXTRA_OEMAKE} "$@" || die "oe_runmake failed"
> + ${MAKE} ${EXTRA_OEMAKE} "$@"
> +}
> +
> +oe_runmake() {
> + oe_runmake_call "$@" || die "oe_runmake failed"
> }
>
>
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 3003fb1..6953109 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -313,7 +313,7 @@ python sysroot_stage_all () {
> oe.path.copyhardlinktree(d.expand("${D}${KERNEL_SRC_PATH}"), d.expand("${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}"))
> }
>
> -KERNEL_CONFIG_COMMAND ?= "oe_runmake oldnoconfig || yes '' | oe_runmake oldconfig"
> +KERNEL_CONFIG_COMMAND ?= "oe_runmake_call oldnoconfig || yes '' | oe_runmake oldconfig"
>
> kernel_do_configure() {
> # fixes extra + in /lib/modules/2.6.37+
> --
> 1.8.5.3
>
--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the Openembedded-core
mailing list