From: Heiko Thiery <heiko.thiery@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4 10/12] support/scripts/pkg-stats: set status to 'na' for virtual packages
Date: Mon, 2 Mar 2020 15:50:12 +0100 [thread overview]
Message-ID: <20200302145013.9574-11-heiko.thiery@gmail.com> (raw)
In-Reply-To: <20200302145013.9574-1-heiko.thiery@gmail.com>
If there is no infra set or infra is virtual the status is set to 'na'.
This is done for the follwing checks:
- license
- license-files
- hash
- hash-license
- patches
- version
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
---
support/scripts/pkg-stats | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
index c9287b416e..4cf1a919f3 100755
--- a/support/scripts/pkg-stats
+++ b/support/scripts/pkg-stats
@@ -132,6 +132,15 @@ class Package:
def patch_count(self):
return len(self.patch_files)
+ @property
+ def has_valid_infra(self):
+ try:
+ if self.infras[0][1] == 'virtual':
+ return False
+ except IndexError:
+ return False
+ return True
+
def set_infra(self):
"""
Fills in the .infras field
@@ -153,6 +162,11 @@ class Package:
"""
Fills in the .status['license'] and .status['license-files'] fields
"""
+ if not self.has_valid_infra:
+ self.status['license'] = ("na", "no valid package infra")
+ self.status['license-files'] = ("na", "no valid package infra")
+ return
+
var = self.pkgvar()
self.status['license'] = ("error", "missing")
self.status['license-files'] = ("error", "missing")
@@ -167,6 +181,11 @@ class Package:
"""
Fills in the .status['hash'] field
"""
+ if not self.has_valid_infra:
+ self.status['hash'] = ("na", "no valid package infra")
+ self.status['hash-license'] = ("na", "no valid package infra")
+ return
+
hashpath = self.path.replace(".mk", ".hash")
self.status['hash-license'] = ("na", "no hash file")
if os.path.exists(hashpath):
@@ -187,6 +206,10 @@ class Package:
"""
Fills in the .patch_count, .patch_files and .status['patches'] fields
"""
+ if not self.has_valid_infra:
+ self.status['patches'] = ("na", "no valid package infra")
+ return
+
pkgdir = os.path.dirname(self.path)
for subdir, _, _ in os.walk(pkgdir):
self.patch_files = fnmatch.filter(os.listdir(subdir), '*.patch')
@@ -564,6 +587,10 @@ def check_package_latest_version(packages):
for pkg, r in zip(packages, results):
pkg.latest_version = dict(zip(['status', 'version', 'id'], r))
+ if not pkg.has_valid_infra:
+ pkg.status['version'] = ("na", "no valid package infra")
+ continue
+
if pkg.latest_version['status'] == RM_API_STATUS_ERROR:
pkg.status['version'] = ('warning', "Release Monitoring API error")
elif pkg.latest_version['status'] == RM_API_STATUS_NOT_FOUND:
--
2.20.1
next prev parent reply other threads:[~2020-03-02 14:50 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-02 14:50 [Buildroot] [PATCH v4 00/12] pkg-stats json output improvements Heiko Thiery
2020-03-02 14:50 ` [Buildroot] [PATCH v4 01/12] support/scripts/pkg-stats: store latest version in a dict Heiko Thiery
2020-03-02 14:50 ` [Buildroot] [PATCH v4 02/12] support/scripts/pkg-stats: store patch files for the package Heiko Thiery
2020-03-02 14:50 ` [Buildroot] [PATCH v4 03/12] support/scripts/pkg-stats: set developers info Heiko Thiery
2020-03-02 14:50 ` [Buildroot] [PATCH v4 04/12] support/scripts/pkg-stats: store licences of package Heiko Thiery
2020-03-02 14:50 ` [Buildroot] [PATCH v4 05/12] support/scripts/pkg-stats: add package status Heiko Thiery
2020-03-02 14:50 ` [Buildroot] [PATCH v4 06/12] support/scripts/pkg-stats: add package count to stats Heiko Thiery
2020-03-02 14:50 ` [Buildroot] [PATCH v4 07/12] support/scripts/pkg-stats: store pkg dir path Heiko Thiery
2020-03-02 14:50 ` [Buildroot] [PATCH v4 08/12] support/scripts/pkg-stats: add defconfig support Heiko Thiery
2020-03-02 14:50 ` [Buildroot] [PATCH v4 09/12] support/scripts/pkg-stats: add support for license hash check Heiko Thiery
2020-03-02 14:50 ` Heiko Thiery [this message]
2020-03-02 14:50 ` [Buildroot] [PATCH v4 11/12] support/scripts/pkg-stats: add list of status checks to the json output Heiko Thiery
2020-03-02 14:50 ` [Buildroot] [PATCH v4 12/12] support/scripts/pkg-stats: add status for cve check Heiko Thiery
2020-03-06 16:46 ` [Buildroot] [PATCH v4 00/12] pkg-stats json output improvements Titouan Christophe
2020-03-06 18:32 ` Heiko Thiery
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200302145013.9574-11-heiko.thiery@gmail.com \
--to=heiko.thiery@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox