aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2015-07-14 09:54:46 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-16 15:08:45 +0100
commit607d3306f7abef057693dcb6aac1f7b26880181d (patch)
treeaaae2b5069fbcebf06ffcd9871bcdb85cef04a15 /meta/classes
parent04ed9a19e1b08003329138b8ab83691d13c11fd9 (diff)
downloadopenembedded-core-contrib-607d3306f7abef057693dcb6aac1f7b26880181d.tar.gz
classes/logging: allow shell message functions to work in devshell
Fix a regression caused by the shell message changes - if you run a shell task's runfile, the task isn't actually running in BitBake and thus the message FIFO won't exist - so we should just fall back to printing the message with echo as we did before so that the run files are still useful. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/logging.bbclass42
1 files changed, 35 insertions, 7 deletions
diff --git a/meta/classes/logging.bbclass b/meta/classes/logging.bbclass
index 6b24839af51..06c7c31c3ee 100644
--- a/meta/classes/logging.bbclass
+++ b/meta/classes/logging.bbclass
@@ -9,34 +9,54 @@ LOGFIFO = "${T}/fifo.${@os.getpid()}"
# tasks that should be seen on the console. Use sparingly.
# Output: logs console
bbplain() {
- printf "%b\0" "bbplain $*" > ${LOGFIFO}
+ if [ -p ${LOGFIFO} ] ; then
+ printf "%b\0" "bbplain $*" > ${LOGFIFO}
+ else
+ echo "$*"
+ fi
}
# Notify the user of a noteworthy condition.
# Output: logs
bbnote() {
- printf "%b\0" "bbnote $*" > ${LOGFIFO}
+ if [ -p ${LOGFIFO} ] ; then
+ printf "%b\0" "bbnote $*" > ${LOGFIFO}
+ else
+ echo "NOTE: $*"
+ fi
}
# Print a warning to the log. Warnings are non-fatal, and do not
# indicate a build failure.
# Output: logs console
bbwarn() {
- printf "%b\0" "bbwarn $*" > ${LOGFIFO}
+ if [ -p ${LOGFIFO} ] ; then
+ printf "%b\0" "bbwarn $*" > ${LOGFIFO}
+ else
+ echo "WARNING: $*"
+ fi
}
# Print an error to the log. Errors are non-fatal in that the build can
# continue, but they do indicate a build failure.
# Output: logs console
bberror() {
- printf "%b\0" "bberror $*" > ${LOGFIFO}
+ if [ -p ${LOGFIFO} ] ; then
+ printf "%b\0" "bberror $*" > ${LOGFIFO}
+ else
+ echo "ERROR: $*"
+ fi
}
# Print a fatal error to the log. Fatal errors indicate build failure
# and halt the build, exiting with an error code.
# Output: logs console
bbfatal() {
- printf "%b\0" "bbfatal $*" > ${LOGFIFO}
+ if [ -p ${LOGFIFO} ] ; then
+ printf "%b\0" "bbfatal $*" > ${LOGFIFO}
+ else
+ echo "ERROR: $*"
+ fi
exit 1
}
@@ -44,7 +64,11 @@ bbfatal() {
# bitbake's UI.
# Output: logs console
bbfatal_log() {
- printf "%b\0" "bbfatal_log $*" > ${LOGFIFO}
+ if [ -p ${LOGFIFO} ] ; then
+ printf "%b\0" "bbfatal_log $*" > ${LOGFIFO}
+ else
+ echo "ERROR: $*"
+ fi
exit 1
}
@@ -68,6 +92,10 @@ bbdebug() {
fi
# All debug output is printed to the logs
- printf "%b\0" "bbdebug $DBGLVL $*" > ${LOGFIFO}
+ if [ -p ${LOGFIFO} ] ; then
+ printf "%b\0" "bbdebug $DBGLVL $*" > ${LOGFIFO}
+ else
+ echo "DEBUG: $*"
+ fi
}