[yocto] bitbake: DataSmart.expandWithRefs causing exception when handed "${@...}"
Ulf Samuelsson
yocto at emagii.com
Sun Jan 13 13:53:09 PST 2019
I am trying to add a new image class "SWU" in "sumo" for a "software
update image".
As a result:
do_sdk_depends[depends] = '${@get_ext_sdk_depends(d)} meta-extsdk-toolchain:do_populate_sysroot'
When data_smart.py works on this, it will call
DataSmart.expandWithRefs(self, s, varname)
s = '${@get_ext_sdk_depends(d)} meta-extsdk-toolchain:do_populate_sysroot'
varname = 'do_sdk_depends[depends]'
I will get an exception in this statement:
while s.find('${') != -1:
olds = s
try:
s = __expand_var_regexp__.sub(varparse.var_sub, s)
The definition of __expand_var_regexp__ is:
__expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}")
That is, it is looking for the string "${<X>}"
but <X> may not contains anything in [{}@\n\t :]
since the "variable" in "s" is actually a call to get_ext_sdk_depends,
and thus contains a '@' character it is not matched.
The build aborts with an exception.
I am not sure, if '${@get_ext_sdk_depends(d)}' should be expanded before
DataSmart,expandWithRefs, or if expandWithRefs needs to be extended
to handle the case where the variable is a "call".
This is blocking us from upgrading from pyro to sumo.
Any ideas on a solution?
BR
Ulf Samuelsson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190113/98bc777d/attachment.html>
More information about the yocto
mailing list