* [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: fix the status for packages found by guess @ 2021-10-08 21:21 Thomas Petazzoni 2021-10-08 21:21 ` [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: use the new 'stable_versions' field of release-monitoring.org Thomas Petazzoni ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Thomas Petazzoni @ 2021-10-08 21:21 UTC (permalink / raw) To: buildroot; +Cc: Thomas Petazzoni The pkg-stats scripts tries to match packages against release-monitoring.org in two days: - First by using the "Buildroot" distribution registered on release-monitoring.org, in which we have added a lot of mappings between Buildroot package names and release-monitoring.org package names. If there is a match using this distribution, the package status is RM_API_STATUS_FOUND_BY_DISTRO, which means that the resulting HTML has a "found by distro" statement. - Then, if the first solution didn't work, by using the pattern matching, as done in the check_package_get_latest_version_by_guess() function. However, there is a bug in this later case: it sets the package status to RM_API_STATUS_FOUND_BY_DISTRO as well, while it should have been RM_API_STATUS_FOUND_BY_PATTERN. Due to this bug, in the resulting HTML file from a pkg-stats run, all packages are marked as "found by distro" even the ones that are "found by guess". This commit fixes that by setting the correct package status. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- This should be backported to stable branches of Buildroot. --- support/scripts/pkg-stats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats index cc91d13167..0f1521873f 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -512,7 +512,7 @@ async def check_package_get_latest_version_by_guess(session, pkg, retry=True): if len(projects) > 0: check_package_latest_version_set_status(pkg, - RM_API_STATUS_FOUND_BY_DISTRO, + RM_API_STATUS_FOUND_BY_PATTERN, projects[0]['version'], projects[0]['id']) return True -- 2.31.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: use the new 'stable_versions' field of release-monitoring.org 2021-10-08 21:21 [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: fix the status for packages found by guess Thomas Petazzoni @ 2021-10-08 21:21 ` Thomas Petazzoni 2021-10-21 19:14 ` Arnout Vandecappelle 2021-10-25 18:54 ` Peter Korsgaard 2021-10-21 19:09 ` [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: fix the status for packages found by guess Arnout Vandecappelle 2021-10-25 18:54 ` Peter Korsgaard 2 siblings, 2 replies; 7+ messages in thread From: Thomas Petazzoni @ 2021-10-08 21:21 UTC (permalink / raw) To: buildroot; +Cc: Thomas Petazzoni The pkg-stats script queries release-monitoring.org to find the latest upstream versions of our packages. However, up until recently, release-monitoring.org had no notion of stable vs. development/release-candidate versions, so for some packages the "latest" version was in fact a development/release-candidate version that we didn't want to package in Buildroot. However, in recent time, release-monitoring.org has gained support for differentiating stable vs. development releases of upstream projects. See for example https://release-monitoring.org/project/10024/ for the glib library, which has a number of versions marked "Pre-release". The JSON blurb returned by release-monitoring.org has 3 relevant fields: - "version", which we are using currently, which is a string containing the reference of the latest version, including pre-release. - "versions", which is an array of strings listing all versions, pre-release or not. - "stable_versions", which is an array of string listing only non-pre-release versions. It is ordered newest first to oldest last. So, this commit changes from using 'version' to using 'stable_versions[0]'. As an example, before this change, pkg-stats reports that nfs-utils needs to be bumped to 2.5.5rc3, while after this patch, it reports that nfs-utils is already at 2.5.4, and that this is the latest stable version (modulo an issue where Buildroot has 2.5.4 and release-monitoring.org has 2-5-4, this will be addressed separately). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- This should be backported to stable branches of Buildroot, so that the pkg-stats results generated for those stable branches also benefit from this logic. --- support/scripts/pkg-stats | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats index 0f1521873f..f7bc300770 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -484,7 +484,7 @@ async def check_package_get_latest_version_by_distro(session, pkg, retry=True): return False data = await resp.json() - version = data['version'] if 'version' in data else None + version = data['stable_versions'][0] if 'stable_versions' in data else None check_package_latest_version_set_status(pkg, RM_API_STATUS_FOUND_BY_DISTRO, version, @@ -507,13 +507,13 @@ async def check_package_get_latest_version_by_guess(session, pkg, retry=True): data = await resp.json() # filter projects that have the right name and a version defined - projects = [p for p in data['projects'] if p['name'] == pkg.name and 'version' in p] + projects = [p for p in data['projects'] if p['name'] == pkg.name and 'stable_versions' in p] projects.sort(key=lambda x: x['id']) if len(projects) > 0: check_package_latest_version_set_status(pkg, RM_API_STATUS_FOUND_BY_PATTERN, - projects[0]['version'], + projects[0]['stable_versions'][0], projects[0]['id']) return True -- 2.31.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: use the new 'stable_versions' field of release-monitoring.org 2021-10-08 21:21 ` [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: use the new 'stable_versions' field of release-monitoring.org Thomas Petazzoni @ 2021-10-21 19:14 ` Arnout Vandecappelle 2021-10-21 20:03 ` Thomas Petazzoni 2021-10-25 18:54 ` Peter Korsgaard 1 sibling, 1 reply; 7+ messages in thread From: Arnout Vandecappelle @ 2021-10-21 19:14 UTC (permalink / raw) To: Thomas Petazzoni, buildroot; +Cc: Francois Perrad, Yann E. MORIN On 08/10/2021 23:21, Thomas Petazzoni wrote: > The pkg-stats script queries release-monitoring.org to find the latest > upstream versions of our packages. However, up until recently, > release-monitoring.org had no notion of stable > vs. development/release-candidate versions, so for some packages the > "latest" version was in fact a development/release-candidate version > that we didn't want to package in Buildroot. > > However, in recent time, release-monitoring.org has gained support for > differentiating stable vs. development releases of upstream > projects. See for example > https://release-monitoring.org/project/10024/ for the glib library, > which has a number of versions marked "Pre-release". > > The JSON blurb returned by release-monitoring.org has 3 relevant > fields: > > - "version", which we are using currently, which is a string > containing the reference of the latest version, including > pre-release. > > - "versions", which is an array of strings listing all versions, > pre-release or not. > > - "stable_versions", which is an array of string listing only > non-pre-release versions. It is ordered newest first to oldest > last. So we can be sure that "stable_versions" is present? Yann committed an earlier version by François doing the same thing, but it falls back to 'version' if 'stable_versions' doesn't exist. > So, this commit changes from using 'version' to using > 'stable_versions[0]'. > > As an example, before this change, pkg-stats reports that nfs-utils > needs to be bumped to 2.5.5rc3, while after this patch, it reports > that nfs-utils is already at 2.5.4, and that this is the latest stable > version (modulo an issue where Buildroot has 2.5.4 and > release-monitoring.org has 2-5-4, this will be addressed separately). > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > --- > This should be backported to stable branches of Buildroot, so that the > pkg-stats results generated for those stable branches also benefit > from this logic. > --- > support/scripts/pkg-stats | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats > index 0f1521873f..f7bc300770 100755 > --- a/support/scripts/pkg-stats > +++ b/support/scripts/pkg-stats > @@ -484,7 +484,7 @@ async def check_package_get_latest_version_by_distro(session, pkg, retry=True): > return False > > data = await resp.json() > - version = data['version'] if 'version' in data else None > + version = data['stable_versions'][0] if 'stable_versions' in data else None > check_package_latest_version_set_status(pkg, > RM_API_STATUS_FOUND_BY_DISTRO, > version, > @@ -507,13 +507,13 @@ async def check_package_get_latest_version_by_guess(session, pkg, retry=True): > > data = await resp.json() > # filter projects that have the right name and a version defined > - projects = [p for p in data['projects'] if p['name'] == pkg.name and 'version' in p] > + projects = [p for p in data['projects'] if p['name'] == pkg.name and 'stable_versions' in p] François' patch doesn't have this, so I applied this part to master, thanks. @Peter both François' commit and this one have to be applied to stable. Regards, Arnout > projects.sort(key=lambda x: x['id']) > > if len(projects) > 0: > check_package_latest_version_set_status(pkg, > RM_API_STATUS_FOUND_BY_PATTERN, > - projects[0]['version'], > + projects[0]['stable_versions'][0], > projects[0]['id']) > return True > > _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: use the new 'stable_versions' field of release-monitoring.org 2021-10-21 19:14 ` Arnout Vandecappelle @ 2021-10-21 20:03 ` Thomas Petazzoni 0 siblings, 0 replies; 7+ messages in thread From: Thomas Petazzoni @ 2021-10-21 20:03 UTC (permalink / raw) To: Arnout Vandecappelle; +Cc: Francois Perrad, Yann E. MORIN, buildroot On Thu, 21 Oct 2021 21:14:18 +0200 Arnout Vandecappelle <arnout@mind.be> wrote: > > - "stable_versions", which is an array of string listing only > > non-pre-release versions. It is ordered newest first to oldest > > last. > > So we can be sure that "stable_versions" is present? Yann committed an earlier > version by François doing the same thing, but it falls back to 'version' if > 'stable_versions' doesn't exist. When I implemented this, I looked at the JSON blurb provided by release-monitoring.org, and in all cases that I could see, the "stable_versions" field was present. I cannot be 100% sure though that it will *always* be present. Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: use the new 'stable_versions' field of release-monitoring.org 2021-10-08 21:21 ` [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: use the new 'stable_versions' field of release-monitoring.org Thomas Petazzoni 2021-10-21 19:14 ` Arnout Vandecappelle @ 2021-10-25 18:54 ` Peter Korsgaard 1 sibling, 0 replies; 7+ messages in thread From: Peter Korsgaard @ 2021-10-25 18:54 UTC (permalink / raw) To: Thomas Petazzoni; +Cc: buildroot >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > The pkg-stats script queries release-monitoring.org to find the latest > upstream versions of our packages. However, up until recently, > release-monitoring.org had no notion of stable > vs. development/release-candidate versions, so for some packages the > "latest" version was in fact a development/release-candidate version > that we didn't want to package in Buildroot. > However, in recent time, release-monitoring.org has gained support for > differentiating stable vs. development releases of upstream > projects. See for example > https://release-monitoring.org/project/10024/ for the glib library, > which has a number of versions marked "Pre-release". > The JSON blurb returned by release-monitoring.org has 3 relevant > fields: > - "version", which we are using currently, which is a string > containing the reference of the latest version, including > pre-release. > - "versions", which is an array of strings listing all versions, > pre-release or not. > - "stable_versions", which is an array of string listing only > non-pre-release versions. It is ordered newest first to oldest > last. > So, this commit changes from using 'version' to using > 'stable_versions[0]'. > As an example, before this change, pkg-stats reports that nfs-utils > needs to be bumped to 2.5.5rc3, while after this patch, it reports > that nfs-utils is already at 2.5.4, and that this is the latest stable > version (modulo an issue where Buildroot has 2.5.4 and > release-monitoring.org has 2-5-4, this will be addressed separately). > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > --- > This should be backported to stable branches of Buildroot, so that the > pkg-stats results generated for those stable branches also benefit > from this logic. Committed to 2021.02.x and 2021.08.x, thanks. -- Bye, Peter Korsgaard _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: fix the status for packages found by guess 2021-10-08 21:21 [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: fix the status for packages found by guess Thomas Petazzoni 2021-10-08 21:21 ` [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: use the new 'stable_versions' field of release-monitoring.org Thomas Petazzoni @ 2021-10-21 19:09 ` Arnout Vandecappelle 2021-10-25 18:54 ` Peter Korsgaard 2 siblings, 0 replies; 7+ messages in thread From: Arnout Vandecappelle @ 2021-10-21 19:09 UTC (permalink / raw) To: Thomas Petazzoni, buildroot, Peter Korsgaard On 08/10/2021 23:21, Thomas Petazzoni wrote: > The pkg-stats scripts tries to match packages against > release-monitoring.org in two days: > > - First by using the "Buildroot" distribution registered on > release-monitoring.org, in which we have added a lot of mappings > between Buildroot package names and release-monitoring.org package > names. If there is a match using this distribution, the package > status is RM_API_STATUS_FOUND_BY_DISTRO, which means that the > resulting HTML has a "found by distro" statement. > > - Then, if the first solution didn't work, by using the pattern > matching, as done in the check_package_get_latest_version_by_guess() > function. > > However, there is a bug in this later case: it sets the package status > to RM_API_STATUS_FOUND_BY_DISTRO as well, while it should have been > RM_API_STATUS_FOUND_BY_PATTERN. Due to this bug, in the resulting HTML > file from a pkg-stats run, all packages are marked as "found by > distro" even the ones that are "found by guess". > > This commit fixes that by setting the correct package status. > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Applied to master, thanks. Regards, Arnout > --- > This should be backported to stable branches of Buildroot. > --- > support/scripts/pkg-stats | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats > index cc91d13167..0f1521873f 100755 > --- a/support/scripts/pkg-stats > +++ b/support/scripts/pkg-stats > @@ -512,7 +512,7 @@ async def check_package_get_latest_version_by_guess(session, pkg, retry=True): > > if len(projects) > 0: > check_package_latest_version_set_status(pkg, > - RM_API_STATUS_FOUND_BY_DISTRO, > + RM_API_STATUS_FOUND_BY_PATTERN, > projects[0]['version'], > projects[0]['id']) > return True > _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: fix the status for packages found by guess 2021-10-08 21:21 [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: fix the status for packages found by guess Thomas Petazzoni 2021-10-08 21:21 ` [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: use the new 'stable_versions' field of release-monitoring.org Thomas Petazzoni 2021-10-21 19:09 ` [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: fix the status for packages found by guess Arnout Vandecappelle @ 2021-10-25 18:54 ` Peter Korsgaard 2 siblings, 0 replies; 7+ messages in thread From: Peter Korsgaard @ 2021-10-25 18:54 UTC (permalink / raw) To: Thomas Petazzoni; +Cc: buildroot >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > The pkg-stats scripts tries to match packages against > release-monitoring.org in two days: > - First by using the "Buildroot" distribution registered on > release-monitoring.org, in which we have added a lot of mappings > between Buildroot package names and release-monitoring.org package > names. If there is a match using this distribution, the package > status is RM_API_STATUS_FOUND_BY_DISTRO, which means that the > resulting HTML has a "found by distro" statement. > - Then, if the first solution didn't work, by using the pattern > matching, as done in the check_package_get_latest_version_by_guess() > function. > However, there is a bug in this later case: it sets the package status > to RM_API_STATUS_FOUND_BY_DISTRO as well, while it should have been > RM_API_STATUS_FOUND_BY_PATTERN. Due to this bug, in the resulting HTML > file from a pkg-stats run, all packages are marked as "found by > distro" even the ones that are "found by guess". > This commit fixes that by setting the correct package status. > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > --- > This should be backported to stable branches of Buildroot. Committed to 2021.02.x and 2021.08.x, thanks. -- Bye, Peter Korsgaard _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-10-25 18:55 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-10-08 21:21 [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: fix the status for packages found by guess Thomas Petazzoni 2021-10-08 21:21 ` [Buildroot] [PATCH 2/2] support/scripts/pkg-stats: use the new 'stable_versions' field of release-monitoring.org Thomas Petazzoni 2021-10-21 19:14 ` Arnout Vandecappelle 2021-10-21 20:03 ` Thomas Petazzoni 2021-10-25 18:54 ` Peter Korsgaard 2021-10-21 19:09 ` [Buildroot] [PATCH 1/2] support/scripts/pkg-stats: fix the status for packages found by guess Arnout Vandecappelle 2021-10-25 18:54 ` Peter Korsgaard
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.