2.0 KiB
Pkg package format
Pkg is the name of Shrine's package manager.
Each package ships as a manifest + one or more installables. The only installable format currently supported is RedSea disk image (.ISO.C)
Manifest format
The manifest is a key-value format, using exactly one Tab character as delimiter. The keys are:
-
name(string - package name) -
osmin(int - minimum supported OS version, default 0) -
osmax(int - maximum OS version, default +∞) -
pkgmin(int - minimum Pkg version, default +∞) -
version(string up to 6 chars - version for display purposes, default NULL) -
release(int - version for comparison purposes, default 0) -
installdir(string, default NULL) -
iso.c(string - see below, default NULL) -
size(int - download size in bytes, default 0) -
post-install-doc(string, default NULL)Name of file to open after package installation. Must be an absolute path.
Currently ignored keys:
website(string)
For a package to be installable, it needs to specify at least pkgmin, name, version, installdir and an installable.
The manifest can contain any other keys; Pkg might or might not preserve them when manipulating the package.
iso.c changes meaning depending on the context.
This is somewhat confusing, which makes it a perfect fit for TempleOS.
- in repo, it's a (usually relative) URL to the package's ISO.C download
- in a downloaded package it is a filesystem path
- when building a package it specifies the output filename
size is ambiguous if the package provides multiple download formats. It's not a big deal.
pkgmin
To maximize compatibility with systems in the wild, you should generally use the lowest pkgmin that's suitable for your package.
Format versions are described below:
- 10 - Initial public release
- 11 - Adds support for
post-install-doc(Shrine 5.03.1)
Dependency resolution
...is omitted on purpose, to keep things simple.