<div dir="ltr"><div>Thanks, this addresses the issue well :)</div><div><br></div><div>Alex<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 3 Jun 2019 at 10:49, Hongxu Jia &lt;<a href="mailto:hongxu.jia@windriver.com">hongxu.jia@windriver.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">While pv contains char `+&#39; (such as ncurses 6.1+20181013),<br>
it was incorrectly converted to `6.1&#39;<br>
<br>
In this commit:<br>
- Convert [^\+]* to .*?<br>
  Support pv to contain char `+&#39; and not greedy match<br>
  (Such as ncurses 6.1+20181013)<br>
<br>
- Add [^\+] to sfx match<br>
  Support sfx contains extra chars between `+&#39; and `git&#39;<br>
  (such as asciidoc &quot;8.6.9+py3-gitAUTOINC+618f6e6f6b&quot;)<br>
<br>
- Make sfx and rev greedy match<br>
<br>
Run `devtool check-upgrade-status --all&#39; in poky and compare results,<br>
only one difference on ncurses version:<br>
Without the commit:<br>
INFO: ncurses                   6.1             6.1+20181013    Hongxu Jia &lt;<a href="mailto:hongxu.jia@windriver.com" target="_blank">hongxu.jia@windriver.com</a>&gt; 7a97a7f937762ba342d5b2fd7cd090885a809835<br>
<br>
With the commit:<br>
INFO: ncurses                   6.1+20181013    MATCH           Hongxu Jia &lt;<a href="mailto:hongxu.jia@windriver.com" target="_blank">hongxu.jia@windriver.com</a>&gt; 7a97a7f937762ba342d5b2fd7cd090885a809835<br>
<br>
Signed-off-by: Hongxu Jia &lt;<a href="mailto:hongxu.jia@windriver.com" target="_blank">hongxu.jia@windriver.com</a>&gt;<br>
---<br>
 meta/lib/oe/recipeutils.py | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py<br>
index 1e5b9a49f9..630ae967af 100644<br>
--- a/meta/lib/oe/recipeutils.py<br>
+++ b/meta/lib/oe/recipeutils.py<br>
@@ -934,7 +934,7 @@ def get_recipe_pv_without_srcpv(pv, uri_type):<br>
     sfx = &#39;&#39;<br>
<br>
     if uri_type == &#39;git&#39;:<br>
-        git_regex = re.compile(r&quot;(?P&lt;pfx&gt;v?)(?P&lt;ver&gt;[^\+]*)((?P&lt;sfx&gt;\+(git)?r?(AUTOINC\+))(?P&lt;rev&gt;.*))?&quot;)<br>
+        git_regex = re.compile(r&quot;(?P&lt;pfx&gt;v?)(?P&lt;ver&gt;.*?)(?P&lt;sfx&gt;\+[^\+]*(git)?r?(AUTOINC\+))(?P&lt;rev&gt;.*)&quot;)<br>
         m = git_regex.match(pv)<br>
<br>
         if m:<br>
-- <br>
2.21.0<br>
<br>
</blockquote></div>