* [PATCH] kernel.bbclass, base.bbclass: Fix support for old kernel configuration
@ 2014-02-12 15:54 Otavio Salvador
2014-02-12 16:01 ` Gary Thomas
2014-02-12 16:29 ` Alexandre Belloni
0 siblings, 2 replies; 3+ messages in thread
From: Otavio Salvador @ 2014-02-12 15:54 UTC (permalink / raw)
To: OpenEmbedded Core Mailing List; +Cc: Otavio Salvador
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@ossystems.com.br>
---
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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] kernel.bbclass, base.bbclass: Fix support for old kernel configuration
2014-02-12 15:54 [PATCH] kernel.bbclass, base.bbclass: Fix support for old kernel configuration Otavio Salvador
@ 2014-02-12 16:01 ` Gary Thomas
2014-02-12 16:29 ` Alexandre Belloni
1 sibling, 0 replies; 3+ messages in thread
From: Gary Thomas @ 2014-02-12 16:01 UTC (permalink / raw)
To: openembedded-core
On 2014-02-12 08:54, 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@ossystems.com.br>
You might make it clear in this description that this change is necessary
to handle older kernels where 'make oldnoconfig' is not supported.
> ---
> 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+
>
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] kernel.bbclass, base.bbclass: Fix support for old kernel configuration
2014-02-12 15:54 [PATCH] kernel.bbclass, base.bbclass: Fix support for old kernel configuration Otavio Salvador
2014-02-12 16:01 ` Gary Thomas
@ 2014-02-12 16:29 ` Alexandre Belloni
1 sibling, 0 replies; 3+ messages in thread
From: Alexandre Belloni @ 2014-02-12 16:29 UTC (permalink / raw)
To: Otavio Salvador; +Cc: OpenEmbedded Core Mailing List
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@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@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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-02-12 16:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-12 15:54 [PATCH] kernel.bbclass, base.bbclass: Fix support for old kernel configuration Otavio Salvador
2014-02-12 16:01 ` Gary Thomas
2014-02-12 16:29 ` Alexandre Belloni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox