Manifest file format
Peter Melnichenko edited this page Oct 19, 2016
·
2 revisions
A manifest file describes files contained in a rocks tree or server. Each rocks tree or server has a manifest
file in its root. Rocks servers may also have versioned manifests (e.g. manifest-5.1
for Lua 5.1) and compressed manifests (e.g. manifest-5.1.zip
). These must match the contents of the uncompressed manifest.
Like a rockspec, a manifest file contains a Lua program setting several globals. Three of them are mandatory:
-
repository
: a table where each key is a package name and its value is a table describing versions of the package hosted on a server or installed in a rocks tree.-
repository[package_name]
: a table where each key is a package version (including revision, e.g.1.0.0-1
) and its value provides information for that version.-
repository[package_name][package_version]
: a list of tables containing several fields:-
arch
: architecture of the rock as a string. Always set toinstalled
in rock tree manifests. -
modules
(only for rock tree manifests): a table mapping module names to paths under installation directory for Lua or C modules. -
commands
(only for rock tree manifests): a table mapping script names to paths under installation directory for binaries. -
dependencies
(only for rock tree manifests): a table mapping names of packages the rock depends on (perhaps indirectly) to versions of installed packages satisfying the dependency.
-
-
-
-
modules
: empty table in rock server manifests (may change in future releases). In rock tree manifests it's a table mapping module names to lists of packages and versions providing that module. Each value in the list is a string inmodule/version
format (e.g.foo/1.0.0-1
). -
commands
: empty table in rock server manifests (may change in future releases). In rock tree manifests it's a table mapping script names to lists of packages and versions providing that script, using same format asmodules
table. -
dependencies
(only for rock tree manifests): a table containing precomputed dependency information to be used byluarocks.loader
. Each key is a package name.-
dependencies[package_name]
: A table where each key is a version (with revision) and its value describes dependencies of that version of the package.-
dependencies[package_name][package_version]
: An array of direct dependencies represented as tables with the following fields:-
name
: name of the rock that is depended on. -
constraints
: an array of parsed version constraints. Each constraint is represented as a table with fields:-
op
: an operator as a string (e.g.>=
). -
version
: version to the right of the operator as an array of parts, e.g.{1, 0, 0}
for1.0.0
. It also contains version as a string instring
field and may contain revision inrevision
field.
-
-
-
-