<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 1, 2015 at 2:13 PM, Richard Purdie <span dir="ltr">&lt;<a href="mailto:richard.purdie@linuxfoundation.org" target="_blank">richard.purdie@linuxfoundation.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":316" class="a3s" style="overflow:hidden">&quot;MACHINE=qemux86-64 <span class="il">bitbake</span> init-ifupdown; MACHINE=genericx86-64 <span class="il">bitbake</span> init-ifupdown&quot;<br>
shows a rebuild when it would be expected. The reason is a LIC_FILES_CHKSUM which<br>
contains file://${WORKDIR}, an absolute path which doesn&#39;t exist in the first build<br>
but does in the second, causing a signature change and a rebuild.<br>
<br>
Fix the problem by ignoring any file:// url which resolves since TMPDIR for<br>
license file dependency purposes.<br>
<br>
Signed-off-by: Richard Purdie &lt;<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>&gt;<br>
<br>
diff --git a/meta/classes/base.<span class="il">bbclass</span> b/meta/classes/base.<span class="il">bbclass</span><br>
index 99b512b..7093a19 100644<br>
--- a/meta/classes/base.<span class="il">bbclass</span><br>
+++ b/meta/classes/base.<span class="il">bbclass</span><br>
@@ -97,6 +97,7 @@ PATH_prepend = &quot;${@extra_path_elements(d)}&quot;<br>
 def get_lic_checksum_file_list(d):<br>
     filelist = []<br>
     lic_files = d.getVar(&quot;LIC_FILES_CHKSUM&quot;, True) or &#39;&#39;<br>
+    tmpdir = d.getVar(&quot;TMPDIR&quot;, True)<br>
<br>
     urls = lic_files.split()<br>
     for url in urls:<br>
@@ -105,6 +106,8 @@ def get_lic_checksum_file_list(d):<br>
         try:<br>
             path = <span class="il">bb</span>.fetch.decodeurl(url)[2]<br>
             if path[0] == &#39;/&#39;:<br>
+                if path.startswith(tmpdir):<br>
+                    continue</div></blockquote></div><br>Hmm, this would probably never be a real issue, but this is using a string startswith() without a path separator, meaning it’d match e.g. /path/to/tmpfoo/ as well as /path/to/tmp/ :)<br>-- <br><div class="gmail_signature">Christopher Larson<br>clarson at kergoth dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Maintainer - Tslib<br>Senior Software Engineer, Mentor Graphics</div>
</div></div>