This document details each data structure and field that does or can exist within a platform spec file for spk.
The root package spec defines which fields can and should exist at the top level of a spec file.
| Field | Type | Description |
|---|---|---|
| platform | Identifier | The name and version number of this platform |
| meta | Meta | Extra package metadata such as description, license, etc |
| compat | Compat | The compatibility semantics of this packages versioning scheme |
| deprecated | boolean | True if this package has been deprecated, this is usually reserved for internal use only and should not generally be specified directly in spec files |
| base | Identifier | (Optional) Base package to inherit requirements from |
| requirements | List[Requirement] | The set of requirements for this platform |
Each requirement in a platform can be either: a simple package Identifier or a RequirementPatch.
Each patch is expected to have only one of the following fields:
| Field | Type | Description |
|---|---|---|
| add | Identifier | The package request to add to this platform |
| remove | Identifier | The package request to remove from this platform |