Running 'bitbake -e' without further arguments causes a stack trace on stderr:
| ERROR: Command execution failed: Traceback (most recent call last):
| File "[...]/bitbake/lib/bb/command.py", line 99, in runAsyncCommand
| commandmethod(self.cmds_async, self, options)
| File "[...]/bitbake/lib/bb/command.py", line 405, in showEnvironment
| command.cooker.showEnvironment(bfile)
| File "[...]/bitbake/lib/bb/cooker.py", line 453, in showEnvironment
| logger.plain("\npython %s () {\n%s}\n", e, data.getVar(e, envdata, 1))
| File "[...]/bitbake/lib/bb/data.py", line 89, in getVar
| return d.getVar(var, exp)
| File "[...]/bitbake/lib/bb/data_smart.py", line 522, in getVar
| return self.getVarFlag(var, "_content", expand, noweakdefault)
| File "[...]/bitbake/lib/bb/data_smart.py", line 612, in getVarFlag
| value = self.expand(value, cachename)
| File "[...]/bitbake/lib/bb/data_smart.py", line 350, in expand
| return self.expandWithRefs(s, varname).value
| File "[...]/bitbake/lib/bb/data_smart.py", line 340, in expandWithRefs
| raise ExpansionError(varname, s, exc)
| ExpansionError: Failure expanding variable can_delete_FILESPATH, expression was def can_delete_FILESPATH(cfgdata, d):
| expected = cfgdata.get("FILESPATH")
| #expected = "${@':'.join([os.path.normpath(os.path.join(fp, p, o)) for fp in d.getVar('FILESPATHBASE', True).split(':') for p in d.getVar('FILESPATHPKG', True).split(':') for o in (d.getVar('OVERRIDES', True) + ':').split(':') if os.path.exists(os.path.join(fp, p, o))])}:${FILESDIR}"
| expectedpaths = d.expand(expected)
| unexpanded = d.getVar("FILESPATH", 0)
| filespath = d.getVar("FILESPATH", True).split(":")
| filespath = [os.path.normpath(f) for f in filespath if os.path.exists(f)]
| for fp in filespath:
| if not fp in expectedpaths:
| # __note("Path %s in FILESPATH not in the expected paths %s" %
| # (fp, expectedpaths), d)
| return False
| return expected != unexpanded
| which triggered exception AttributeError: 'NoneType' object has no attribute 'split'
Removing the commented second line in can_delete_FILESPATH() hides the error.
(From OE-Core rev:
a84c36e0e5e8332ddc5a6c34e1f598d5cb87cee2)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>