]> git.ipfire.org Git - ipfire.org.git/commitdiff
download: Introduce secondary architectures for i586 and aarch64
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 4 Aug 2020 19:55:15 +0000 (19:55 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 4 Aug 2020 20:07:16 +0000 (20:07 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/backend/releases.py
src/templates/download/release.html

index fb50448f5f4985ee6266f355322d2a0fdf61ebb0..a0a8cf93154adf8dc7446a14d0081d4485bdab2f 100644 (file)
@@ -160,7 +160,7 @@ class File(Object):
 
        @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:
@@ -224,6 +224,38 @@ class Release(Object):
                        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:
index 56f3947f260d53d4f0ee53123a84697ba53ea8d7..a73a47a9929d849826331e056e0a94a9ac5963ca 100644 (file)
                                {% 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 %}