Depends on your definition of "does not break".  Does it run without
throwing errors?  Yes.  Does it give the same output?  No.
Originally, I only tested on a couple of recipes, and not the world.
So, I admit to not running this test prior to you asking.

This output is very noisy.  So, it is difficult to get an accurate
idea of whether the differences are regressions or not.  Also, the
output of the individual recipes and versions is not outputted in the
same order.  Looking at the output (after a rough sort), I do see
different values for some.  Like:
-acpica                    20230628        UNKNOWN         Ross Burton
<[email protected]>
+acpica                    20230628        KNOWN_BROKEN    Ross Burton
<[email protected]>
-gnuplot                   5.4.3           6.0.0           None
+gnuplot                   5.4.3           UNKNOWN_BROKEN  None
-icu                       74-1            74-2            Alexander
Kanavin <[email protected]>
+icu                       74-1            74.1            Alexander
Kanavin <[email protected]>

Let me poke around with this output to try to make more sense of it
and see if there are real regressions or if it is something else.

Thanks,
Jon


On Tue, Apr 2, 2024 at 2:22 PM Alexander Kanavin <[email protected]> wrote:
>
> 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 (#197881): 
https://lists.openembedded.org/g/openembedded-core/message/197881
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