summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2015-07-13 16:30:09 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-16 15:09:23 +0100
commit757be608a5538bc4f32d234f216d24d4caa6539b (patch)
tree91ae049b5e261af35587f124b81ba112b3d3a5c2 /meta/classes
parent546bfe8069cfaffd970ba4f6d7fc29fa8070f319 (diff)
downloadpoky-757be608a5538bc4f32d234f216d24d4caa6539b.tar.gz
classes/base: fix die() to print the full log
The recent change to connect through the shell logging functions caused a regression - bb.error() and bb.fatal() cause a flag to be set internally such that BitBake's UI will not print the full task log on failure; unfortunately we have in a lot of places called die() or bbfatal() within shell functions with a very terse message as a means of exiting out, where we still want to see the full log (and we were previously). We do still want to have fatal errors with proper messages that don't result in the full log being printed, however we can't ignore the typical usage of die(). Having added a mechanism to BitBake to log an error and reset the flag, create a bbfatal_log() function that uses this and call it from die() to restore the previous behaviour. (From OE-Core rev: beec1cf3d22d7dbe85f332a055c72649f4bd3e92) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/base.bbclass2
-rw-r--r--meta/classes/logging.bbclass8
2 files changed, 9 insertions, 1 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index e5417897d0..e0f1053164 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -47,7 +47,7 @@ def lsb_distro_identifier(d):
47 return oe.lsb.distro_identifier(adjust_func) 47 return oe.lsb.distro_identifier(adjust_func)
48 48
49die() { 49die() {
50 bbfatal "$*" 50 bbfatal_log "$*"
51} 51}
52 52
53oe_runmake_call() { 53oe_runmake_call() {
diff --git a/meta/classes/logging.bbclass b/meta/classes/logging.bbclass
index f19edddde5..6b24839af5 100644
--- a/meta/classes/logging.bbclass
+++ b/meta/classes/logging.bbclass
@@ -40,6 +40,14 @@ bbfatal() {
40 exit 1 40 exit 1
41} 41}
42 42
43# Like bbfatal, except prevents the suppression of the error log by
44# bitbake's UI.
45# Output: logs console
46bbfatal_log() {
47 printf "%b\0" "bbfatal_log $*" > ${LOGFIFO}
48 exit 1
49}
50
43# Print debug messages. These are appropriate for progress checkpoint 51# Print debug messages. These are appropriate for progress checkpoint
44# messages to the logs. Depending on the debug log level, they may also 52# messages to the logs. Depending on the debug log level, they may also
45# go to the console. 53# go to the console.