Have you confirmed that this does not break 'devtool check-upgrade-status' ?
Alex On Tue, 2 Apr 2024 at 20:09, Jon Mason <[email protected]> wrote: > > Currently, get_recipe_upstream_version blindly takes the first entry in > SRC_URI to see if the recipe is at the latest version. If > UPSTREAM_CHECK_URI is specified in a recipe, it is probably what should > be used to check for the latest version. Use that as the first check, > otherwise default back to the first entry in SRC_URI. > > wget was doing it's own check for UPSTREAM_CHECK_URI. Removing this in > favor of the common one now being done in recipeutils.py. > > Signed-off-by: Jon Mason <[email protected]> > --- > bitbake/lib/bb/fetch2/wget.py | 37 +++++++++++++++-------------------- > meta/lib/oe/recipeutils.py | 9 +++++++-- > 2 files changed, 23 insertions(+), 23 deletions(-) > > diff --git a/bitbake/lib/bb/fetch2/wget.py b/bitbake/lib/bb/fetch2/wget.py > index dc025800e659..0342f895646d 100644 > --- a/bitbake/lib/bb/fetch2/wget.py > +++ b/bitbake/lib/bb/fetch2/wget.py > @@ -629,27 +629,22 @@ class Wget(FetchMethod): > return ('', '') > bb.debug(3, "latest_versionstring, regex: %s" % > (package_regex.pattern)) > > - uri = "" > - regex_uri = d.getVar("UPSTREAM_CHECK_URI") > - if not regex_uri: > - path = ud.path.split(package)[0] > - > - # search for version matches on folders inside the path, like: > - # "5.7" in > http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz > - dirver_regex = > re.compile(r"(?P<dirver>[^/]*(\d+\.)*\d+([-_]r\d+)*)/") > - m = dirver_regex.findall(path) > - if m: > - pn = d.getVar('PN') > - dirver = m[-1][0] > - > - dirver_pn_regex = re.compile(r"%s\d?" % (re.escape(pn))) > - if not dirver_pn_regex.search(dirver): > - return (self._check_latest_version_by_dir(dirver, > - package, package_regex, current_version, ud, d), '') > - > - uri = bb.fetch.encodeurl([ud.type, ud.host, path, ud.user, > ud.pswd, {}]) > - else: > - uri = regex_uri > + path = ud.path.split(package)[0] > + > + # search for version matches on folders inside the path, like: > + # "5.7" in > http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz > + dirver_regex = > re.compile(r"(?P<dirver>[^/]*(\d+\.)*\d+([-_]r\d+)*)/") > + m = dirver_regex.findall(path) > + if m: > + pn = d.getVar('PN') > + dirver = m[-1][0] > + > + dirver_pn_regex = re.compile(r"%s\d?" % (re.escape(pn))) > + if not dirver_pn_regex.search(dirver): > + return (self._check_latest_version_by_dir(dirver, > + package, package_regex, current_version, ud, d), '') > + > + uri = bb.fetch.encodeurl([ud.type, ud.host, path, ud.user, ud.pswd, > {}]) > > return (self._check_latest_version(uri, package, package_regex, > current_version, ud, d), '') > diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py > index de1fbdd3a8c8..a42609060cd9 100644 > --- a/meta/lib/oe/recipeutils.py > +++ b/meta/lib/oe/recipeutils.py > @@ -1041,8 +1041,13 @@ def get_recipe_upstream_version(rd): > ru['datetime'] = datetime.now() > return ru > > - # XXX: we suppose that the first entry points to the upstream sources > - src_uri = src_uris.split()[0] > + # If UPSTREAM_CHECK_URI is specified, assume it is correct and use > + # it. Otherwise, use the first SRC_URI specified to determine the > + # latest version. > + if rd.getVar('UPSTREAM_CHECK_URI'): > + src_uri = str(rd.getVar('UPSTREAM_CHECK_URI')) > + else: > + src_uri = src_uris.split()[0] > uri_type, _, _, _, _, _ = decodeurl(src_uri) > > (pv, pfx, sfx) = get_recipe_pv_with_pfx_sfx(rd.getVar('PV'), uri_type) > -- > 2.30.2 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#197877): https://lists.openembedded.org/g/openembedded-core/message/197877 Mute This Topic: https://lists.openembedded.org/mt/105293221/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
