diff mbox

core/br2-external: properly report unexpected errors

Message ID 1485600092-963-1-git-send-email-yann.morin.1998@free.fr
State Accepted
Headers show

Commit Message

Yann E. MORIN Jan. 28, 2017, 10:41 a.m. UTC
Unextected error in the br2-external script are properly caught, but
they are not reported properly, and we end up in either of two
situations:

  - the .br2-external.mk file is not generated, in which case make will
    try to find a rule to generate it (because the 'include' directive
    tries to generate missing files);

  - the .br-external.mk file is generated but does not contain the error
    variable, and thus the build might not get interrupted.

We fix that by using a trap on the pseudo ERR signal, to emit the error
variable on unexpected errors.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 support/scripts/br2-external | 3 +++
 1 file changed, 3 insertions(+)

Comments

Thomas Petazzoni March 26, 2017, 9:44 p.m. UTC | #1
Hello,

On Sat, 28 Jan 2017 11:41:32 +0100, Yann E. MORIN wrote:
> Unextected error in the br2-external script are properly caught, but
> they are not reported properly, and we end up in either of two
> situations:
> 
>   - the .br2-external.mk file is not generated, in which case make will
>     try to find a rule to generate it (because the 'include' directive
>     tries to generate missing files);
> 
>   - the .br-external.mk file is generated but does not contain the error
>     variable, and thus the build might not get interrupted.
> 
> We fix that by using a trap on the pseudo ERR signal, to emit the error
> variable on unexpected errors.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  support/scripts/br2-external | 3 +++
>  1 file changed, 3 insertions(+)

Applied to master, thanks.

Thomas
Peter Korsgaard March 31, 2017, 7:10 a.m. UTC | #2
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Hello,
 > On Sat, 28 Jan 2017 11:41:32 +0100, Yann E. MORIN wrote:
 >> Unextected error in the br2-external script are properly caught, but
 >> they are not reported properly, and we end up in either of two
 >> situations:
 >> 
 >> - the .br2-external.mk file is not generated, in which case make will
 >> try to find a rule to generate it (because the 'include' directive
 >> tries to generate missing files);
 >> 
 >> - the .br-external.mk file is generated but does not contain the error
 >> variable, and thus the build might not get interrupted.
 >> 
 >> We fix that by using a trap on the pseudo ERR signal, to emit the error
 >> variable on unexpected errors.
 >> 
 >> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 >> ---
 >> support/scripts/br2-external | 3 +++
 >> 1 file changed, 3 insertions(+)

Committed to 2017.02.x, thanks.
diff mbox

Patch

diff --git a/support/scripts/br2-external b/support/scripts/br2-external
index 26bcac8..7e81608 100755
--- a/support/scripts/br2-external
+++ b/support/scripts/br2-external
@@ -40,6 +40,9 @@  main() {
 
     exec >"${ofile}"
 
+    # Trap any unexpected error to generate a meaningful error message
+    trap "error 'unexpected error while generating ${ofile}\n'" ERR
+
     do_validate ${@//:/ }
 
     do_${ofmt}