Metadata
The published index
soarpkgs publishes one index per host, generated from the tree by sbuild meta and converted to SQLite by soar json2db. Generation reads the tree and nothing else. No network, no build state, so the same tree always produces the same index, which is what makes the published file auditable.
URLs
Everything is published on the latest release:
https://github.com/pkgforge/soarpkgs/releases/latest/download/metadata-${HOST}.sdb.zstd
https://github.com/pkgforge/soarpkgs/releases/latest/download/metadata-${HOST}.jsonSoar uses the .sdb.zstd variant by default, since it is what it reads directly. The JSON is there for anything else that wants to consume the index.
Shape
{
"format": 1,
"packages": [ ... ]
}format is the index format version, published so a client can tell an index it cannot read from one that merely lacks a field, and say which of the two it is. Soar currently understands format 1, and refuses anything higher rather than guessing.
Fields
One entry is a single package at a single version. A package with several pinned versions contributes one entry each.
Empty lists and absent values are left out rather than written as nulls, so a field you do not see is a field the package does not set.
files entries take their meaning from where they land. bin/ is a command, share/man/ a manual page. alias holds extra names for the same file, created beside it.
Reading it
Verifying
Soar does this for you, with the public key built in. Signature verification can be turned off per repository in the config, which you should only do for a repository that publishes none.
Last updated