summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/fetch2/git.py
diff options
context:
space:
mode:
authorPeter Kjellerstedt <peter.kjellerstedt@axis.com>2024-02-19 01:38:05 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-02-19 15:08:30 +0000
commitd25f6b970fbe252d947082a46f7d84490ddcd7da (patch)
tree25d332e9bc640706cfdf006e9c268d004fcd242f /bitbake/lib/bb/fetch2/git.py
parent9694fe1d684ec80a7e1efdb62a954f89275cb273 (diff)
downloadpoky-d25f6b970fbe252d947082a46f7d84490ddcd7da.tar.gz
bitbake: fetch2/git: Make latest_versionstring extract tags with slashes correctly
Before, everything up to the last slash was removed when extracting the names of the tags. This would lead to that a tag such as "agent/11.0.0" would be incorrectly identified as "11.0.0", which would then be treated as a correct version matching "^(?P<pver>\d+(\.\d+)+)". (Bitbake rev: 8b21024b9966d5158ac4a77e87ffb935c2a57764) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/fetch2/git.py')
-rw-r--r--bitbake/lib/bb/fetch2/git.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
index 39dfd474b3..df33fb6aeb 100644
--- a/bitbake/lib/bb/fetch2/git.py
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -833,6 +833,7 @@ class Git(FetchMethod):
833 bb.note("Could not list remote: %s" % str(e)) 833 bb.note("Could not list remote: %s" % str(e))
834 return pupver 834 return pupver
835 835
836 rev_tag_re = re.compile(r"([0-9a-f]{40})\s+refs/tags/(.*)")
836 pver_re = re.compile(d.getVar('UPSTREAM_CHECK_GITTAGREGEX') or r"(?P<pver>([0-9][\.|_]?)+)") 837 pver_re = re.compile(d.getVar('UPSTREAM_CHECK_GITTAGREGEX') or r"(?P<pver>([0-9][\.|_]?)+)")
837 nonrel_re = re.compile(r"(alpha|beta|rc|final)+") 838 nonrel_re = re.compile(r"(alpha|beta|rc|final)+")
838 839
@@ -841,7 +842,12 @@ class Git(FetchMethod):
841 if not line: 842 if not line:
842 break 843 break
843 844
844 tag = line.split("/")[-1] 845 m = rev_tag_re.match(line)
846 if not m:
847 continue
848
849 (revision, tag) = m.groups()
850
845 # Ignore non-released branches 851 # Ignore non-released branches
846 if nonrel_re.search(tag): 852 if nonrel_re.search(tag):
847 continue 853 continue
@@ -857,7 +863,6 @@ class Git(FetchMethod):
857 continue 863 continue
858 864
859 verstring = pver 865 verstring = pver
860 revision = line.split()[0]
861 pupver = (verstring, revision) 866 pupver = (verstring, revision)
862 867
863 return pupver 868 return pupver