6.5. Dependencies preparation

A package is available inside any as a dependency for another packages, if its files are installed into directory like build/image/PROF/package-1.2.3/. For xz-5.2.5 package from the example above it is the path build/image/amd64/xz-5.2.5/.

A package is available inside build/image/ in two cases:

if it has been built in this working directory.
if it was deployed from binary archive with a special command.

It is fairly possible to unpack manually the binary archive into needed directory. But commands, described below, are better suited for frequent or heavy installs.

Single package preparation

To deploy the single binary package inside working directory any deploy is used:

    any deploy id package-1.2.3
The installation with package manager is not performed, so given command does not require privileges.

For deployment of package-1.2.3 through any deploy its binary archive is required. By default the archives are searched by the path build/pack/amd64/ (for the example above).
You may set another path with binary packages via the option any_pkg:

    any deploy id package-1.2.3 any_pkg=./bindir

Package tree preparation

It is possible to automatically install all dependencies, which are missing for the chosen package (or group of packages at the same time).

    any tree id package-1.2.3
In that case all dependencies of package package-1.2.3 are read, then the ones, which are already present inside the working directory, are deleted from the list, and the remaining part is deployed inside build/image/.

Similar action for package group at once:

    any tree id package-1.2.3,one-1.0,two-2.0
    any tree id some.src

It is possible to deploy the dependency tree disregarding if they have been deployed before in the working dir or haven't been.

    any treenew id package-1.2.3
The command may be in use if one needs to ignore all previous build results and rely only on the most fresh iteration of packages, but removing the build/image/ is undesirable for some reasons.

Commands any tree, any treenew do not deploy packages, directly listed in their arguments (package-1.2.3 in the examples above). They handle just the underlying dependency trees.