mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-01-11 15:00:39 +00:00
scripts/machine-summary: show patch count in the overview
Instead of simply adding a tag saying "Patched", include the patch count and make a judgement call on whether the patches are "safe" or not. For example, patches which are entirely backports or inappropriate are "safe", pending and denied patches are not. Signed-off-by: Ross Burton <ross.burton@arm.com>
This commit is contained in:
@@ -24,6 +24,12 @@ def needs_update(version, upstream):
|
|||||||
version = version.replace("+git", "")
|
version = version.replace("+git", "")
|
||||||
return version != upstream
|
return version != upstream
|
||||||
|
|
||||||
|
def safe_patches(patches):
|
||||||
|
for info in patches:
|
||||||
|
if info["status"] in ("Denied", "Pending", "Unknown"):
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
def layer_path(layername, d):
|
def layer_path(layername, d):
|
||||||
"""
|
"""
|
||||||
Return the path to the specified layer, or None if the layer isn't present.
|
Return the path to the specified layer, or None if the layer isn't present.
|
||||||
@@ -100,6 +106,7 @@ def harvest_data(machines, recipes):
|
|||||||
details["fullversion"] = d.getVar("PV")
|
details["fullversion"] = d.getVar("PV")
|
||||||
details["patches"] = [extract_patch_info(p, d) for p in oe.patch.src_patches(d)]
|
details["patches"] = [extract_patch_info(p, d) for p in oe.patch.src_patches(d)]
|
||||||
details["patched"] = bool(details["patches"])
|
details["patched"] = bool(details["patches"])
|
||||||
|
details["patches_safe"] = safe_patches(details["patches"])
|
||||||
|
|
||||||
# Now backfill the upstream versions
|
# Now backfill the upstream versions
|
||||||
for machine in versions:
|
for machine in versions:
|
||||||
@@ -148,11 +155,15 @@ class Format:
|
|||||||
template_dir = os.path.dirname(os.path.abspath(__file__))
|
template_dir = os.path.dirname(os.path.abspath(__file__))
|
||||||
env = jinja2.Environment(
|
env = jinja2.Environment(
|
||||||
loader=jinja2.FileSystemLoader(template_dir),
|
loader=jinja2.FileSystemLoader(template_dir),
|
||||||
|
extensions=['jinja2.ext.i18n'],
|
||||||
autoescape=jinja2.select_autoescape(),
|
autoescape=jinja2.select_autoescape(),
|
||||||
trim_blocks=True,
|
trim_blocks=True,
|
||||||
lstrip_blocks=True
|
lstrip_blocks=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# We only need i18n for plurals
|
||||||
|
env.install_null_translations()
|
||||||
|
|
||||||
return env.get_template(name)
|
return env.get_template(name)
|
||||||
|
|
||||||
class TextOverview(Format):
|
class TextOverview(Format):
|
||||||
|
|||||||
@@ -26,7 +26,13 @@
|
|||||||
{% if details.patches or details.needs_update %}
|
{% if details.patches or details.needs_update %}
|
||||||
<br>
|
<br>
|
||||||
{% if details.patches %}
|
{% if details.patches %}
|
||||||
<span class="tag is-info">Patched</span>
|
<span class="tag {{ "is-info" if details.patches_safe else "is-danger" }}">
|
||||||
|
{% trans count=details.patches|length %}
|
||||||
|
{{ count }} Patch
|
||||||
|
{% pluralize %}
|
||||||
|
{{ count }} Patches
|
||||||
|
{% endtrans %}
|
||||||
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if details.needs_update %}
|
{% if details.needs_update %}
|
||||||
<span class="tag is-danger">Upgrade</span>
|
<span class="tag is-danger">Upgrade</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user