[bitbake-devel] [PATCH 1/4] toaster: use current directory if BUILDDIR is not set

Michael Wood michael.g.wood at intel.com
Mon Oct 31 16:40:37 UTC 2016


From: Ed Bartosh <ed.bartosh at linux.intel.com>

If BUILDDIR environment variable is not set signal_runbuilds function
throws TypeError as os.getenv('BUILDDIR') returns None:

ERROR: unsupported operand type(s) for +=: 'NoneType' and 'str'
Traceback (most recent call last):
  File "bitbake/lib/bb/ui/toasterui.py", line
391, in main
    buildinfohelper.update_build_information(event, errors, warnings,
taskfailures)
  File "bitbake/lib/bb/ui/buildinfohelper.py",
line 1184, in update_build_information
    self.internal_state['build'], errors, warnings, taskfailures)
  File "bitbake/lib/bb/ui/buildinfohelper.py",
line 238, in update_build_stats_and_outcome
    signal_runbuilds()
  File "bitbake/lib/toaster/orm/models.py", line
1746, in signal_runbuilds
    '.runbuilds.pid')) as pidf:
  File "/usr/lib64/python3.4/posixpath.py", line 82, in join
    path += b
TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str'

Used os.getenv('BUILDIR', '.') to make it always return meaningful
directory path. Current directory '.' will be used if BUILDDIR is
not set.

Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
Signed-off-by: Michael Wood <michael.g.wood at intel.com>
---
 lib/toaster/orm/models.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py
index 9a4db1e..4f8510c 100644
--- a/lib/toaster/orm/models.py
+++ b/lib/toaster/orm/models.py
@@ -1742,7 +1742,7 @@ def invalidate_cache(**kwargs):
 def signal_runbuilds():
     """Send SIGUSR1 to runbuilds process"""
     try:
-        with open(os.path.join(os.getenv('BUILDDIR'),
+        with open(os.path.join(os.getenv('BUILDDIR', '.'),
                                '.runbuilds.pid')) as pidf:
             os.kill(int(pidf.read()), SIGUSR1)
     except FileNotFoundError:
-- 
2.7.4




More information about the bitbake-devel mailing list