summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/devel/profile.html2
-rw-r--r--templates/packages/signoffs.html4
-rw-r--r--templates/public/index.html2
-rw-r--r--templates/public/keys.html57
4 files changed, 62 insertions, 3 deletions
diff --git a/templates/devel/profile.html b/templates/devel/profile.html
index b731b3a7..b497a20a 100644
--- a/templates/devel/profile.html
+++ b/templates/devel/profile.html
@@ -6,7 +6,7 @@
<h2>Developer Profile</h2>
- <form id="edit-profile-form" enctype="multipart/form-data" method="post">{% csrf_token %}
+ <form id="edit-profile-form" enctype="multipart/form-data" method="post" action="">{% csrf_token %}
<p><em>Note:</em> This is the public information shown on the developer
and/or TU profiles page, so please be appropriate with the information
you provide here.</p>
diff --git a/templates/packages/signoffs.html b/templates/packages/signoffs.html
index 125b3611..c24774a9 100644
--- a/templates/packages/signoffs.html
+++ b/templates/packages/signoffs.html
@@ -56,7 +56,7 @@
<td>{{ group.target_repo }}</td>
<td>{{ group.packager|default:"Unknown" }}</td>
<td>{{ group.packages|length }}</td>
- <td>{{ group.last_update|date }}</td>
+ <td class="epoch-{{ group.last_update|date:'U' }}">{{ group.last_update|date }}</td>
{% if group.specification.known_bad %}
<td class="approval signoff-bad">Bad</td>
{% else %}
@@ -85,7 +85,7 @@
$(document).ready(function() {
$('a.signoff-link').click(signoff_package);
$(".results").tablesorter({widgets: ['zebra'], sortList: [[0,0]],
- headers: { 7: { sorter: false }, 8: {sorter: false } } });
+ headers: { 5: { sorter: 'epochdate' }, 7: { sorter: false }, 8: {sorter: false } } });
$('#signoffs_filter input').change(filter_signoffs);
$('#criteria_reset').click(filter_signoffs_reset);
// fire function on page load to ensure the current form selections take effect
diff --git a/templates/public/index.html b/templates/public/index.html
index 188c572f..36bb5484 100644
--- a/templates/public/index.html
+++ b/templates/public/index.html
@@ -148,6 +148,8 @@
<h4>Development</h4>
<ul>
+ <li><a href="{% url page-keys %}"
+ title="Package/Database signing master keys">Master Keys</a></li>
<li><a href="/packages/"
title="View/search the package repository database">Packages</a></li>
<li><a href="/groups/"
diff --git a/templates/public/keys.html b/templates/public/keys.html
new file mode 100644
index 00000000..2e7fcebe
--- /dev/null
+++ b/templates/public/keys.html
@@ -0,0 +1,57 @@
+{% extends "base.html" %}
+{% load pgp %}
+
+{% block title %}Arch Linux - Master Signing Keys{% endblock %}
+
+{% block content %}
+<div id="signing-keys" class="box">
+ <h2>Master Signing Keys</h2>
+
+ <p>This page lists the Arch Linux Master Keys. This is a distributed set of
+ keys that are seen as "official" signing keys of the distribution. Each key
+ is held by a different developer, and a revocation certificate for the key
+ is held by a different developer. Thus, no one developer has absolute hold
+ on any sort of absolute, root trust.</p>
+ <p>The {{ keys|length }} key{{ keys|pluralize }} listed below should be
+ regarded as the current set of master keys. They are available on public
+ keyservers and should be signed by the owner of the key.</p>
+ <p>All official Arch Linux developers and trusted users should have their
+ key signed by at least three of these master keys. This is in accordance
+ with the PGP <em>web of trust</em> concept. If a user is willing to
+ marginally trust all of the master keys, three signatures from different
+ master keys will consider a given developer's key as valid. For more
+ information on trust, please consult the
+ <a href="http://www.gnupg.org/gph/en/manual.html">GNU Privacy Handbook</a>
+ and <a href="http://www.gnupg.org/gph/en/manual.html#AEN385">Using trust to
+ validate keys</a>.</p>
+
+ <table class="pretty2">
+ <thead>
+ <tr>
+ <th>Master Key</th>
+ <th>Full Fingerprint</th>
+ <th>Owner</th>
+ <th>Owner's Signing Key</th>
+ <th>Revoker</th>
+ <th>Revoker's Signing Key</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for key in keys %}
+ <tr>
+ <td>{% pgp_key_link key.pgp_key %}</td>
+ <td>{{ key.pgp_key|pgp_fingerprint }}</td>
+ {% with key.owner.userprofile as owner_profile %}
+ <td><a href="{{ owner_profile.get_absolute_url }}">{{ key.owner.get_full_name }}</a></td>
+ <td>{% pgp_key_link owner_profile.pgp_key %}</td>
+ {% endwith %}
+ {% with key.revoker.userprofile as revoker_profile %}
+ <td><a href="{{ revoker_profile.get_absolute_url }}">{{ key.revoker.get_full_name }}</a></td>
+ <td>{% pgp_key_link revoker_profile.pgp_key %}</td>
+ {% endwith %}
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+</div>
+{% endblock %}