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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to