Format/SchemaVersion type
We need a Format and/or SchemaVersion type which describes the schema version of specification. See repod's implementation for reference: https://gitlab.archlinux.org/archlinux/repod/-/blob/cc0e43c7c858c679027068639e7db554fb78aa21/repod/common/models.py#L445-466
Personally I'd prefer using the more common SchemaVersion
and apply it across the various specs we want to cover. Note, that repod's implementation uses positive integers and not version strings. It might be wise to switch to a semver based scheme, which allows describing additions (non-breaking changes) and removals (breaking changes) properly.
Format is mentioned in this ticket, because format
is the field in a .BUILDINFO file that describes the schema version of the file, however, semantically this is likely not as correct since one would e.g. also refer to "a different format" when looking at different file types (e.g. YAML vs. TOML). That being said, format can remain the field name for the initial .BUILDINFO spec but should be validated using SchemaVersion!