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 12:01:00 +0000 |
commit | 8b21024b9966d5158ac4a77e87ffb935c2a57764 (patch) | |
tree | 322ca9038cfd46b6a84c49e3a0dc9b29e77bc0b7 /lib/bb | |
parent | dcd2abfde55cc59d9869a7c97620b6fc30a52047 (diff) | |
download | bitbake-8b21024b9966d5158ac4a77e87ffb935c2a57764.tar.gz |
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+)+)".
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb')
-rw-r--r-- | lib/bb/fetch2/git.py | 9 | ||||
-rw-r--r-- | lib/bb/tests/fetch.py | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py index 39dfd474b..df33fb6ae 100644 --- a/lib/bb/fetch2/git.py +++ b/lib/bb/fetch2/git.py @@ -833,6 +833,7 @@ class Git(FetchMethod): bb.note("Could not list remote: %s" % str(e)) return pupver + rev_tag_re = re.compile(r"([0-9a-f]{40})\s+refs/tags/(.*)") pver_re = re.compile(d.getVar('UPSTREAM_CHECK_GITTAGREGEX') or r"(?P<pver>([0-9][\.|_]?)+)") nonrel_re = re.compile(r"(alpha|beta|rc|final)+") @@ -841,7 +842,12 @@ class Git(FetchMethod): if not line: break - tag = line.split("/")[-1] + m = rev_tag_re.match(line) + if not m: + continue + + (revision, tag) = m.groups() + # Ignore non-released branches if nonrel_re.search(tag): continue @@ -857,7 +863,6 @@ class Git(FetchMethod): continue verstring = pver - revision = line.split()[0] pupver = (verstring, revision) return pupver diff --git a/lib/bb/tests/fetch.py b/lib/bb/tests/fetch.py index ca869fb24..5ed5b5607 100644 --- a/lib/bb/tests/fetch.py +++ b/lib/bb/tests/fetch.py @@ -1420,6 +1420,8 @@ class FetchLatestVersionTest(FetcherTest): : "1.3.59", ("remake", "git://github.com/rocky/remake.git;protocol=https;branch=master", "f05508e521987c8494c92d9c2871aec46307d51d", r"(?P<pver>(\d+\.(\d+\.)*\d*(\+dbg\d+(\.\d+)*)*))", "") : "3.82+dbg0.9", + ("sysdig", "git://github.com/draios/sysdig.git;branch=dev;protocol=https", "4fb6288275f567f63515df0ff0a6518043ecfa9b", r"^(?P<pver>\d+(\.\d+)+)", "10.0.0") + : "0.28.0", } test_wget_uris = { |