diff options
author | Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 2024-02-19 01:38:05 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-02-19 15:08:30 +0000 |
commit | d25f6b970fbe252d947082a46f7d84490ddcd7da (patch) | |
tree | 25d332e9bc640706cfdf006e9c268d004fcd242f /bitbake/lib/bb/fetch2/git.py | |
parent | 9694fe1d684ec80a7e1efdb62a954f89275cb273 (diff) | |
download | poky-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.py | 9 |
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 |