mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-06 18:09:44 +03:00
support/scripts/pkg-stats: set status to 'na' for virtual packages
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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit fb879c1954)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
committed by
Peter Korsgaard
parent
75d97f2a8f
commit
ef3585d6b8
@@ -131,6 +131,15 @@ class Package:
|
|||||||
def patch_count(self):
|
def patch_count(self):
|
||||||
return len(self.patch_files)
|
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):
|
def set_infra(self):
|
||||||
"""
|
"""
|
||||||
Fills in the .infras field
|
Fills in the .infras field
|
||||||
@@ -152,6 +161,11 @@ class Package:
|
|||||||
"""
|
"""
|
||||||
Fills in the .status['license'] and .status['license-files'] fields
|
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()
|
var = self.pkgvar()
|
||||||
self.status['license'] = ("error", "missing")
|
self.status['license'] = ("error", "missing")
|
||||||
self.status['license-files'] = ("error", "missing")
|
self.status['license-files'] = ("error", "missing")
|
||||||
@@ -165,6 +179,11 @@ class Package:
|
|||||||
"""
|
"""
|
||||||
Fills in the .status['hash'] field
|
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")
|
hashpath = self.path.replace(".mk", ".hash")
|
||||||
if os.path.exists(hashpath):
|
if os.path.exists(hashpath):
|
||||||
self.status['hash'] = ("ok", "found")
|
self.status['hash'] = ("ok", "found")
|
||||||
@@ -175,6 +194,10 @@ class Package:
|
|||||||
"""
|
"""
|
||||||
Fills in the .patch_count, .patch_files and .status['patches'] fields
|
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)
|
pkgdir = os.path.dirname(self.path)
|
||||||
for subdir, _, _ in os.walk(pkgdir):
|
for subdir, _, _ in os.walk(pkgdir):
|
||||||
self.patch_files = fnmatch.filter(os.listdir(subdir), '*.patch')
|
self.patch_files = fnmatch.filter(os.listdir(subdir), '*.patch')
|
||||||
@@ -554,6 +577,10 @@ def check_package_latest_version(packages):
|
|||||||
for pkg, r in zip(packages, results):
|
for pkg, r in zip(packages, results):
|
||||||
pkg.latest_version = dict(zip(['status', 'version', 'id'], r))
|
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:
|
if pkg.latest_version['status'] == RM_API_STATUS_ERROR:
|
||||||
pkg.status['version'] = ('warning', "Release Monitoring API error")
|
pkg.status['version'] = ('warning', "Release Monitoring API error")
|
||||||
elif pkg.latest_version['status'] == RM_API_STATUS_NOT_FOUND:
|
elif pkg.latest_version['status'] == RM_API_STATUS_NOT_FOUND:
|
||||||
|
|||||||
Reference in New Issue
Block a user