diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2015-07-14 09:54:46 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-07-16 15:08:45 +0100 |
commit | 607d3306f7abef057693dcb6aac1f7b26880181d (patch) | |
tree | aaae2b5069fbcebf06ffcd9871bcdb85cef04a15 /meta/classes | |
parent | 04ed9a19e1b08003329138b8ab83691d13c11fd9 (diff) | |
download | openembedded-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.bbclass | 42 |
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 } |