]> code.ossystems Code Review - openembedded-core.git/commitdiff
classes/logging: allow shell message functions to work in devshell
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Tue, 14 Jul 2015 08:54:46 +0000 (09:54 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 16 Jul 2015 14:08:45 +0000 (15:08 +0100)
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>
meta/classes/logging.bbclass

index 6b24839af517f7596f6bd6d9f11912c97b2a9967..06c7c31c3ee63e712ec35a1017404e38766f9727 100644 (file)
@@ -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
 }