@property
def arch(self):
- known_arches = ("x86_64", "aarch64", "i586", "arm")
+ known_arches = ("x86_64", "aarch64", "arm", "i586")
for arch in known_arches:
if arch in self.basename:
if arch in (f.arch for f in self.files):
yield arch
+ @property
+ def primary_arches(self):
+ arches = []
+
+ # Add x86_64 when available, otherwise add i586
+ for arch in ("x86_64", "i586"):
+ if arch in self.arches:
+ arches.append(arch)
+ break
+
+ # Add ARM if available
+ if "arm" in self.arches:
+ arches.append("arm")
+
+ return arches
+
+ @property
+ def secondary_arches(self):
+ arches = []
+
+ for arch in self.arches:
+ if arch in self.primary_arches:
+ continue
+
+ arches.append(arch)
+
+ return arches
+
+ @property
+ def experimental_arches(self):
+ return ("aarch64",)
+
@property
def files(self):
if not self.__files:
{% end %}
</h6>
- <div class="card-deck">
- {% for arch in release.arches %}
- <div class="card">
- <div class="card-header text-center">
- <h6 class="my-0">{{ arch }}</h6>
- </div>
+ {% for arch in release.primary_arches %}
+ <div class="my-5">
+ <h5>{{ arch }}</h5>
- <ul class="list-group list-group-flush">
- {% for file in release.get_files_by_arch(arch) %}
- <li class="list-group-item d-flex flex-column align-items-start">
- <div class="d-flex w-100 justify-content-between">
- <a href="{{ file.url }}">{{ _(file.desc) }}</a>
+ <div class="list-group">
+ {% for file in release.get_files_by_arch(arch) %}
+ <a class="list-group-item list-group-item-action"
+ href="{{ file.url }}">
+ <div class="d-flex w-100 justify-content-between">
+ {{ _(file.desc) }}
- {% if file.size >= 1024 * 1024 %}
- <span class="text-muted">{{ format_size(file.size) }}</span>
- {% end %}
- </div>
- </li>
- {% end %}
- </ul>
- </div>
- {% end %}
- </div>
-
- <ul class="nav justify-content-center my-3">
- <li class="nav-item">
- <a class="nav-link" data-toggle="collapse" href="#checksums">
- {{ _("Checksums") }}
- </a>
- </li>
- </ul>
+ {% if file.size >= 1024 * 1024 %}
+ <span class="text-muted">{{ format_size(file.size) }}</span>
+ {% end %}
+ </div>
- <div class="collapse" id="checksums">
- <div class="card card-body">
- <pre class="mb-0">{% for f in release.files %}{{ "%-50s %s: %s\n" % (f.basename, "SHA256" if f.sha256 else "SHA1", f.sha256 or f.sha1) }}{% end %}</pre>
+ <p class="text-muted small mb-0 d-none d-md-block">
+ {{ "%s: %s" % ("SHA256" if file.sha256 else "SHA1", file.sha256 or file.sha1) }}
+ </p>
+ </a>
+ {% end %}
+ </div>
</div>
- </div>
+ {% end %}
</div>
</section>
</div>
</div>
</section>
+
+ {% if release.secondary_arches %}
+ <section>
+ <div class="container">
+ <h3>{{ _("Secondary Architectures") }}</h3>
+
+ {% for arch in release.secondary_arches %}
+ <div class="my-5">
+ <h5>
+ {{ arch }}
+
+ {% if arch in release.experimental_arches %}
+ <span class="badge badge-success small">{{ _("Experimental") }}</span>
+ {% else %}
+ <span class="badge badge-warning small">{{ _("Legacy") }}</span>
+ {% end %}
+ </h5>
+
+ <div class="list-group">
+ {% for file in release.get_files_by_arch(arch) %}
+ <a class="list-group-item list-group-item-action"
+ href="{{ file.url }}">
+ <div class="d-flex w-100 justify-content-between">
+ {{ _(file.desc) }}
+
+ {% if file.size >= 1024 * 1024 %}
+ <span class="text-muted">{{ format_size(file.size) }}</span>
+ {% end %}
+ </div>
+
+ <p class="text-muted small mb-0 d-none d-md-block">
+ {{ "%s: %s" % ("SHA256" if file.sha256 else "SHA1", file.sha256 or file.sha1) }}
+ </p>
+ </a>
+ {% end %}
+ </div>
+ </div>
+ {% end %}
+ </div>
+ </section>
+ {% end %}
{% end block %}