<div dir="ltr">These don't actually work, v2 incoming.<div><br></div><div>Ross</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 21 November 2015 at 18:44, Ross Burton <span dir="ltr"><<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">To avoid false positives such as a SRC_URI for <a href="http://foo.xz/foo.zip" rel="noreferrer" target="_blank">http://foo.xz/foo.zip</a> gaining a<br>
dependnecy on xz-native decode the URI so that precise tests can be done.<br>
<br>
Signed-off-by: Ross Burton <<a href="mailto:ross.burton@intel.com">ross.burton@intel.com</a>><br>
---<br>
 meta/classes/base.bbclass | 25 ++++++++++++-------------<br>
 1 file changed, 12 insertions(+), 13 deletions(-)<br>
<br>
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass<br>
index eb5edef..c7db81a 100644<br>
--- a/meta/classes/base.bbclass<br>
+++ b/meta/classes/base.bbclass<br>
@@ -527,38 +527,37 @@ python () {<br>
           bb.note("INCLUDING " + pn + " as buildable despite INCOMPATIBLE_LICENSE because it has been whitelisted for HOSTTOOLS")<br>
<br>
   srcuri = d.getVar('SRC_URI', True)<br>
+Â Â (scheme, _ , path) = bb.fetch.decodeurl(srcuri)[:3]<br>
   # Svn packages should DEPEND on subversion-native<br>
-Â Â if "svn://" in srcuri:<br>
+Â Â if scheme == "svn":<br>
     d.appendVarFlag('do_fetch', 'depends', ' subversion-native:do_populate_sysroot')<br>
<br>
   # Git packages should DEPEND on git-native<br>
-Â Â if "git://" in srcuri:<br>
+Â Â elif scheme == "git":<br>
     d.appendVarFlag('do_fetch', 'depends', ' git-native:do_populate_sysroot')<br>
<br>
   # Mercurial packages should DEPEND on mercurial-native<br>
-Â Â elif "hg://" in srcuri:<br>
+Â Â elif scheme == "hg":<br>
     d.appendVarFlag('do_fetch', 'depends', ' mercurial-native:do_populate_sysroot')<br>
<br>
   # OSC packages should DEPEND on osc-native<br>
-Â Â elif "osc://" in srcuri:<br>
+Â Â elif scheme == "osc"<br>
     d.appendVarFlag('do_fetch', 'depends', ' osc-native:do_populate_sysroot')<br>
<br>
-Â Â # *.lz4 should depends on lz4-native for unpacking<br>
-Â Â # Not endswith because of "*.patch.lz4;patch=1". Need bb.fetch.decodeurl in future<br>
-Â Â if '.lz4' in srcuri:<br>
+Â Â # *.lz4 should DEPEND on lz4-native for unpacking<br>
+Â Â if path.endswith('.lz4'):<br>
     d.appendVarFlag('do_unpack', 'depends', ' lz4-native:do_populate_sysroot')<br>
<br>
-Â Â # *.xz should depends on xz-native for unpacking<br>
-Â Â # Not endswith because of "*.patch.xz;patch=1". Need bb.fetch.decodeurl in future<br>
-Â Â if '.xz' in srcuri:<br>
+Â Â # *.xz should DEPEND on xz-native for unpacking<br>
+Â Â elif path.endswith('.xz'):<br>
     d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')<br>
<br>
-Â Â # unzip-native should already be staged before unpacking ZIP recipes<br>
-Â Â if ".zip" in srcuri:<br>
+Â Â # .zip should DEPEND on unzip-native for unpacking<br>
+Â Â elif path.endswith('.zip'):<br>
     d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot')<br>
<br>
   # file is needed by rpm2cpio.sh<br>
-Â Â if ".src.rpm" in srcuri:<br>
+Â Â elif path.endswith('.src.rpm'):<br>
     d.appendVarFlag('do_unpack', 'depends', ' file-native:do_populate_sysroot')<br>
<br>
   set_packagetriplet(d)<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.4.9 (Apple Git-60)<br>
<br>
</font></span></blockquote></div><br></div>