<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>I am trying to add a new image class "SWU" in "sumo" for a
      "software update image".</p>
    <p>As a result:</p>
    <pre class="moz-quote-pre" wrap="">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)</pre>
    <pre class="moz-quote-pre" wrap="">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:
               <font color="#ff0000"> s = __expand_var_regexp__.sub(varparse.var_sub, s)</font>

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

</pre>
  </body>
</html>