Files
msys2-web/app/templates/outofdate.html
Christoph Reiter 1178edde11 Sort repos by priority and not by name
Use the order of the repos in the config as the order for everything else.
selection inputs, package groupes etc
2024-09-15 15:42:14 +02:00

123 lines
4.7 KiB
HTML

{% extends "layout.html" %}
{% block title %}Outdated Packages{% endblock %}
{% block inner_content %}
<div class="card mb-3">
<div class="card-header">
<h4 class="card-title">Outdated Packages</h4>
<h6 class="card-subtitle mb-2 text-muted">
All packages: {{ all_sources|length }} |
Outdated packages: {{ to_update|length }} |
Missing version info: {{ missing|length }}
</h6>
</div>
<div class="card-body overflow-auto">
<p class="text-muted">We automatically compare versions against other distributions. See the <a
href="https://www.msys2.org/dev/update-package">the packaging guide</a>
for how to package new upstream versions.</p>
<form action="{{ url_for('outofdate') }}" method="get">
<div class="row g-2 align-items-center">
<div class="col-auto">
Repositories:
</div>
<div class="col-auto">
<select name="repo" class="form-select form-select-sm" onchange="this.form.submit()">
<option {{ "selected" if not repo_filter or "" }} value="">All</option>
{% for r in repos %}
<option value="{{ r.name }}" {{ "selected" if repo_filter == r.name or "" }}>{{ r.name }}</option>
{% endfor %}
</select>
</div>
</div>
<br>
<table class="table table-hover table-sm">
<thead>
<tr>
<th>Update Date</th>
<th>Base Package</th>
<th>Repo Version</th>
<th></th>
<th>New Version</th>
<th></th>
</tr>
</thead>
<tbody>
{% for (s, myver, gitver, ver, url, date) in to_update %}
<tr>
<td class="mytooltip">
{{ (date|timestamp).split()[0] if date else '-' }}
<template class="mytooltip-content">
{% if date %}
{{ date|timestamp }} <span class="text-muted">(UTC)</span>
{% else %}
<span class="text-muted">No date available</span>
{% endif %}
</template>
</td>
<td><a href="{{ url_for('base', base_name=s.name) }}">{{ s.name }}</a></td>
<td class="text-version">{{ myver }}{% if gitver %} <span class="text-muted small align-text-bottom ps-1">({{ gitver }} in git)</span>{% endif %}</td>
<td></td>
<td class="text-version"><a href="{{ url }}">{{ ver }}</a></td>
{% if s.active_vulnerabilities %}
<td class="mytooltip-onclick">
<span role="button" class="text-{{vulnerability_color(s.worst_active_vulnerability)}}"></span>
<template class="mytooltip-content">
<ul class="list-unstyled">
{% for vuln in s.all_vulnerabilities %}
<li {% if vuln.ignored %}style="text-decoration: line-through"{% endif %}><a href="{{ vuln.url }}">{{ vuln.id }}</a> <span class="opacity-75 text-{{vulnerability_color(vuln)}}">({{ vuln.severity }})</span></li>
{% endfor %}
</ul>
</template>
</td>
{% else %}
<td></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
<h6>{{ missing|length }} packages not found in other distros:</h6>
{% for s in missing %}
<a href="{{ url_for('base', base_name=s.name) }}">{{ s.realname }}</a>
{%- if s.active_vulnerabilities %}
<span class="mytooltip-onclick">
<span role="button" class="text-{{vulnerability_color(s.worst_active_vulnerability)}}"></span>
<template class="mytooltip-content">
<ul class="list-unstyled">
{% for vuln in s.all_vulnerabilities %}
<li {% if vuln.ignored %}style="text-decoration: line-through"{% endif %}><a href="{{ vuln.url }}">{{ vuln.id }}</a> <span class="opacity-75 text-{{vulnerability_color(vuln)}}">({{ vuln.severity }})</span></li>
{% endfor %}
</ul>
</template>
</span>
{% endif -%}
{{ ", " if not loop.last else '' }}
{% endfor %}
<br>
<hr>
<div class="ms-auto row g-2 align-items-center">
<div class="col-auto">
Related to:
</div>
<div class="col input-group input-group-sm" style="width: auto">
<input class="form-control" type="text" name="related" placeholder="package-a, package-b" value="{{ related }}" title="Only show packages that are part of the transitive dependencies listed here">
<button class="btn btn-outline-success" type="submit">Filter</button>
</div>
</div>
</form>
</div>
</div>
{% endblock %}