<p dir="ltr"></p>
<p dir="ltr">On Aug 25, 2016 10:35 PM, &lt;<a href="mailto:zzs213@126.com">zzs213@126.com</a>&gt; wrote:<br>
&gt;<br>
&gt; From: 张忠山 &lt;<a href="mailto:zzs213@126.com">zzs213@126.com</a>&gt;<br>
&gt;<br>
&gt; Without this patch, if we write these in recipe <a href="http://test.bb">test.bb</a>:<br>
&gt;<br>
&gt;         NAME_1.1.7   = &#39;version is 1.1.7&#39;<br>
&gt;         NAME_develop = &#39;version is develop&#39;<br>
&gt;<br>
&gt; Use &#39;bitbake test -e&#39; to observe &#39;NAME&#39;:<br>
&gt;         #<br>
&gt;         # $NAME [2 operations]<br>
&gt;         #   override[develop]:set .../<a href="http://test.bb:10">test.bb:10</a><br>
&gt;         #     &quot;version is develop&quot;<br>
&gt;         # pre-expansion value:<br>
&gt;         #   &quot;version is develop&quot;<br>
&gt;         NAME=&quot;version is develop&quot;<br>
&gt;<br>
&gt; Obviously, override for &#39;1.1.7&#39; missing.</p>
<p dir="ltr">Dot is not allowed in variable names intentionally since its file extension separator. I am not sure if its a good idea to allow it in variable names<br>
&gt;<br>
&gt; Signed-off-by: 张忠山 &lt;<a href="mailto:zzs213@126.com">zzs213@126.com</a>&gt;<br>
&gt; ---<br>
&gt;  lib/bb/data_smart.py | 4 ++--<br>
&gt;  1 file changed, 2 insertions(+), 2 deletions(-)<br>
&gt;<br>
&gt; diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py<br>
&gt; index 59621b7..ea4ff80 100644<br>
&gt; --- a/lib/bb/data_smart.py<br>
&gt; +++ b/lib/bb/data_smart.py<br>
&gt; @@ -559,7 +559,7 @@ class DataSmart(MutableMapping):<br>
&gt;          # aka pay the cookie monster<br>
&gt;          override = var[var.rfind(&#39;_&#39;)+1:]<br>
&gt;          shortvar = var[:var.rfind(&#39;_&#39;)]<br>
&gt; -        while override and override.islower():<br>
&gt; +        while override and (override + &#39;a&#39;).islower():<br>
&gt;              if shortvar not in self.overridedata:<br>
&gt;                  self.overridedata[shortvar] = []<br>
&gt;              if [var, override] not in self.overridedata[shortvar]:<br>
&gt; @@ -637,7 +637,7 @@ class DataSmart(MutableMapping):<br>
&gt;          if &#39;_&#39; in var:<br>
&gt;              override = var[var.rfind(&#39;_&#39;)+1:]<br>
&gt;              shortvar = var[:var.rfind(&#39;_&#39;)]<br>
&gt; -            while override and override.islower():<br>
&gt; +            while override and (override + &#39;a&#39;).islower():<br>
&gt;                  try:<br>
&gt;                      if shortvar in self.overridedata:<br>
&gt;                          # Force CoW by recreating the list first<br>
&gt; --<br>
&gt; 1.9.1<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; _______________________________________________<br>
&gt; bitbake-devel mailing list<br>
&gt; <a href="mailto:bitbake-devel@lists.openembedded.org">bitbake-devel@lists.openembedded.org</a><br>
&gt; <a href="http://lists.openembedded.org/mailman/listinfo/bitbake-devel">http://lists.openembedded.org/mailman/listinfo/bitbake-devel</a><br></p>