Skip to content

Commit

Permalink
scripts/machine-summary: link patches to cgit
Browse files Browse the repository at this point in the history
Add links from the patch names to the patches in cgit for ease of
inspection.

Signed-off-by: Ross Burton <[email protected]>
Signed-off-by: Jon Mason <[email protected]>
  • Loading branch information
rossburton authored and jonmason committed Jan 26, 2022
1 parent b1e4cff commit 57f0349
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 5 deletions.
20 changes: 17 additions & 3 deletions scripts/machine-summary.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,30 @@ def layer_path(layername: str, d) -> pathlib.Path:
return layer_path.cache[layername]
return None

def get_url_for_patch(layer: str, localpath: pathlib.Path, d) -> str:
relative = localpath.relative_to(layer_path(layer, d))

# TODO: use layerindexlib
# TODO: assumes default branch
if layer == "core":
return f"https://git.openembedded.org/openembedded-core/tree/meta/{relative}"
elif layer in ("meta-arm", "meta-arm-bsp", "arm-toolchain", "meta-atp", "meta-gem5"):
return f"https://git.yoctoproject.org/meta-arm/tree/{layer}/{relative}"
else:
print(f"WARNING: Don't know web URL for layer {layer}", file=sys.stderr)
return None

def extract_patch_info(src_uri, d):
"""
Parse the specified patch entry from a SRC_URI and return (base name, layer name, status) tuple
"""
import bb.fetch, bb.utils

info = {}
localpath = bb.fetch.decodeurl(src_uri)[2]
info["name"] = os.path.basename(localpath)
info["layer"] = bb.utils.get_file_layer(localpath, d)
localpath = pathlib.Path(bb.fetch.decodeurl(src_uri)[2])
info["name"] = localpath.name
info["layer"] = bb.utils.get_file_layer(str(localpath), d)
info["url"] = get_url_for_patch(info["layer"], localpath, d)

status = "Unknown"
with open(localpath, errors="ignore") as f:
Expand Down
7 changes: 5 additions & 2 deletions scripts/report-details.html.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,11 @@
<tbody>
{% for pinfo in data.patches %}
<tr>
<!-- TODO links to cgit -->
<td>{{ pinfo.name }}</td>
<td>
{% if pinfo.url %}<a href="{{pinfo.url}}">{% endif %}
{{ pinfo.name }}
{% if pinfo.url %}</a>{% endif %}
</td>
<td>{{ pinfo.layer }}</td>
<!-- TODO: tooltip with full status? -->
<td class="has-text-centered">{{ make_patch_tag(pinfo.status)}}</td>
Expand Down

0 comments on commit 57f0349

Please sign in to comment.