mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 21:32:12 +02:00
base: Improve module import error message
Turn:
ERROR: Unable to parse Var <OE_IMPORTED[:=]>
Traceback (most recent call last):
File "Var <OE_IMPORTED[:=]>", line 1, in <module>
File "/media/build1/poky/meta/classes/base.bbclass", line 35, in oe_import(d=<bb.data_smart.DataSmart object at 0x7f1d941ad208>):
for toimport in oe.data.typed_value("OE_IMPORTS", d):
> imported = __import__(toimport)
inject(toimport.split(".", 1)[0], imported)
File "/media/build1/poky/meta/lib/oe/sstatesig.py", line 267, in <module>:
>class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHashMixIn, bb.siggen.SignatureGeneratorUniHashMixIn, bb.siggen.SignatureGeneratorBasicHash):
name = "OEEquivHash"
bb.data_smart.ExpansionError: Failure expanding variable OE_IMPORTED[:=], expression was ${@oe_import(d)} which triggered exception AttributeError: module 'bb.siggen' has no attribute 'SignatureGeneratorUniHashMixIn'
into:
ERROR: Error importing OE modules: module 'bb.siggen' has no attribute 'SignatureGeneratorUniHashMixIn'
which can then trigger a version mismatch error message.
(From OE-Core rev: 5b01726d1cf478aba8d1acc73e29f6cab0c9371e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -32,9 +32,11 @@ def oe_import(d):
|
||||
|
||||
import oe.data
|
||||
for toimport in oe.data.typed_value("OE_IMPORTS", d):
|
||||
imported = __import__(toimport)
|
||||
inject(toimport.split(".", 1)[0], imported)
|
||||
|
||||
try:
|
||||
imported = __import__(toimport)
|
||||
inject(toimport.split(".", 1)[0], imported)
|
||||
except AttributeError as e:
|
||||
bb.error("Error importing OE modules: %s" % str(e))
|
||||
return ""
|
||||
|
||||
# We need the oe module name space early (before INHERITs get added)
|
||||
|
||||
Reference in New Issue
Block a user