summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJelle van der Waa <jelle@archlinux.org>2020-05-23 01:23:55 +0200
committerJelle van der Waa <jelle@archlinux.org>2020-05-31 21:14:53 +0200
commit5da8fa6ce1ae04302fca2efb3aa99c8e18f291fa (patch)
tree0e94ebd294effc4c23a47ca8cdac8826688c6622
parent1c831f6b5afc6b29d869a4889519f368fc802a17 (diff)
downloadarchweb-5da8fa6ce1ae04302fca2efb3aa99c8e18f291fa.tar.gz
archweb-5da8fa6ce1ae04302fca2efb3aa99c8e18f291fa.zip
Add PGP key to the Release model
Add a pgp_key field to the Release model so we can display the PGP fingerprint of the used PGP key on the download page. Closes: #282
-rw-r--r--releng/migrations/0003_release_pgp_key.py19
-rw-r--r--releng/models.py3
-rw-r--r--templates/public/download.html2
-rw-r--r--templates/releng/release_detail.html2
4 files changed, 26 insertions, 0 deletions
diff --git a/releng/migrations/0003_release_pgp_key.py b/releng/migrations/0003_release_pgp_key.py
new file mode 100644
index 00000000..a211a798
--- /dev/null
+++ b/releng/migrations/0003_release_pgp_key.py
@@ -0,0 +1,19 @@
+# Generated by Django 3.0.6 on 2020-05-22 22:14
+
+import devel.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('releng', '0002_auto_20181216_1605'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='release',
+ name='pgp_key',
+ field=devel.fields.PGPKeyField(blank=True, help_text='consists of 40 hex digits; use `gpg --fingerprint`', max_length=40, null=True, verbose_name='PGP key fingerprint'),
+ ),
+ ]
diff --git a/releng/models.py b/releng/models.py
index 60a70edc..aad75f11 100644
--- a/releng/models.py
+++ b/releng/models.py
@@ -11,6 +11,7 @@ from django.db.models.signals import pre_save
from django.utils.safestring import mark_safe
from main.utils import set_created_field, parse_markdown
+from devel.fields import PGPKeyField
class Release(models.Model):
@@ -19,6 +20,8 @@ class Release(models.Model):
kernel_version = models.CharField(max_length=50, blank=True)
md5_sum = models.CharField('MD5 digest', max_length=32, blank=True)
sha1_sum = models.CharField('SHA1 digest', max_length=40, blank=True)
+ pgp_key = PGPKeyField(max_length=40, verbose_name="PGP key fingerprint", null=True, blank=True,
+ help_text="consists of 40 hex digits; use `gpg --fingerprint`")
created = models.DateTimeField(editable=False)
last_modified = models.DateTimeField(editable=False)
available = models.BooleanField(default=True)
diff --git a/templates/public/download.html b/templates/public/download.html
index 944fe96d..15c31a90 100644
--- a/templates/public/download.html
+++ b/templates/public/download.html
@@ -2,6 +2,7 @@
{% load cache %}
{% load static %}
{% load flags %}
+{% load pgp %}
{% block title %}Arch Linux - Downloads{% endblock %}
@@ -98,6 +99,7 @@
<ul>
<li><a href="https://www.archlinux.org/{{ release.iso_url }}.sig"
title="PGP signature">PGP signature</a></li>
+ {% if release.pgp_key %}<li><strong>PGP fingerprint:</strong> {% pgp_key_link release.pgp_key %}</li>{% endif %}
{% if release.md5_sum %}<li><strong>MD5:</strong> {{ release.md5_sum }}</li>{% endif %}
{% if release.sha1_sum %}<li><strong>SHA1:</strong> {{ release.sha1_sum }}</li>{% endif %}
</ul>
diff --git a/templates/releng/release_detail.html b/templates/releng/release_detail.html
index 11155c0c..2f81f416 100644
--- a/templates/releng/release_detail.html
+++ b/templates/releng/release_detail.html
@@ -1,5 +1,6 @@
{% extends "base.html" %}
{% load static %}
+{% load pgp %}
{% block title %}Arch Linux - Release: {{ release.version }}{% endblock %}
@@ -21,6 +22,7 @@
{% endif %}
{% if release.md5_sum %}<li><strong>MD5:</strong> {{ release.md5_sum }}</li>{% endif %}
{% if release.sha1_sum %}<li><strong>SHA1:</strong> {{ release.sha1_sum }}</li>{% endif %}
+ {% if release.pgp_key %}<li><strong>PGP fingerprint:</strong> {% pgp_key_link release.pgp_key %}</li>{% endif %}
</ul>
{% if release.info %}