Handle missing package signatures correctly

They are optional now, which means they are availabel as detached signatures
and no longer available in the package database.
This commit is contained in:
Christoph Reiter
2023-11-01 19:14:42 +01:00
parent 41d05a5391
commit 4f5dad3f86
2 changed files with 7 additions and 6 deletions

View File

@@ -238,15 +238,15 @@ class AppState:
class Package:
def __init__(self, builddate: str, csize: str, depends: List[str], filename: str, files: List[str], isize: str,
makedepends: List[str], md5sum: str, name: str, pgpsig: str, sha256sum: str, arch: str,
makedepends: List[str], md5sum: str, name: str, pgpsig: Optional[str], sha256sum: str, arch: str,
base_url: str, repo: str, repo_variant: str, package_prefix: str, base_prefix: str,
provides: List[str], conflicts: List[str], replaces: List[str],
version: str, base: str, desc: str, groups: List[str], licenses: List[str], optdepends: List[str],
checkdepends: List[str], sig_data: str, url: str, packager: str) -> None:
checkdepends: List[str], url: str, packager: str) -> None:
self.builddate = int(builddate)
self.csize = csize
self.url = url
self.signature = parse_signature(base64.b64decode(sig_data))
self.signature = parse_signature(base64.b64decode(pgpsig)) if pgpsig is not None else None
self.depends = split_depends(depends)
self.checkdepends = split_depends(checkdepends)
self.filename = filename
@@ -255,7 +255,6 @@ class Package:
self.makedepends = split_depends(makedepends)
self.md5sum = md5sum
self.name = name
self.pgpsig = pgpsig
self.sha256sum = sha256sum
self.arch = arch
self.fileurl = base_url + "/" + quote(self.filename)
@@ -365,14 +364,14 @@ class Package:
d.get("%FILES%", []), d["%ISIZE%"][0],
d.get("%MAKEDEPENDS%", []),
d["%MD5SUM%"][0], d["%NAME%"][0],
d.get("%PGPSIG%", [""])[0], d["%SHA256SUM%"][0],
d.get("%PGPSIG%", [None])[0], d["%SHA256SUM%"][0],
d["%ARCH%"][0], repo.download_url, repo.name, repo.variant,
repo.package_prefix, repo.base_prefix,
d.get("%PROVIDES%", []), d.get("%CONFLICTS%", []),
d.get("%REPLACES%", []), d["%VERSION%"][0], base,
d.get("%DESC%", [""])[0], d.get("%GROUPS%", []),
d.get("%LICENSE%", []), d.get("%OPTDEPENDS%", []),
d.get("%CHECKDEPENDS%", []), d.get("%PGPSIG%", [""])[0],
d.get("%CHECKDEPENDS%", []),
d.get("%URL%", [""])[0], d.get("%PACKAGER%", [""])[0])

View File

@@ -104,11 +104,13 @@
<dt class="col-sm-3 text-sm-end">Build Date:</dt>
<dd class="col-sm-9">{{ p.builddate|timestamp }}</dd>
{% if p.signature %}
<dt class="col-sm-3 text-sm-end">Signed By:</dt>
<dd class="col-sm-9"><a href="{{ p.signature.url }}">{{ p.signature.name }}</a></dd>
<dt class="col-sm-3 text-sm-end">Signature Date:</dt>
<dd class="col-sm-9">{{ p.signature.date }}</dd>
{% endif %}
<dt class="col-sm-3 text-sm-end">Package Size:</dt>
<dd class="col-sm-9">{{ p.csize|filesize }}</dd>