Overhaul handling of repository archives
Currently, archive repos are considered a normal repo, completely separate from its main repo, but using the same signing key hence violating the principles outlined in #702 (closed).
This ticket outlines a potential implementation plan to change this and couple archive repos more tightly to its main repo:
- the repo signals if archive is available (e.g. through a boolean in index-v2)
- archive repos get a flag in the DB and depend on actual repo, but are otherwise independent repos internally
- archive repos are not listed in main repo listing
- archive is a toggle in repo details screen which enables/disables the archive repo (off by default)
- deleting the actual repo deletes the archive as well
- one repo can only have one archive
- remove official archive repo from default repos XML file
There's still some corner cases to think about though, so there's some open questions:
- what happens if a repo removes previous archive support. Do we need to detect this and remove/disable its archive repo in this case?
- what priority archive repos should have? Giving them a higher priority would be easy, a lower would be difficult.
So while doable, we shouldn't underestimate the effort required for this.