depend_resolve_current_atom – print the list of packages, matching the dependencies of the current package.

Synopsis

depend_resolve_current_atom [desired]

Description

The method prints to stdout list of packages, matching build dependencies of the current package, each on a new line. For each entry in DEPEND variable matching directory of the form IMGDIR/name-1.2.3/ is searched. name-1.2.3 is the same as it appears in the list or in the command line of any-do(1). Actual content of the directory is not checked. When required name is found, it is scheduled for output. When needed package is absent, dependency is scheduled for diagnostics.

When any of dependencies are not met, method prints reserved string --nonresolved to stdout. It is used for caller methods to determine non-found entries. Method also prints the list of all non-resolved dependencies to stderr. Then it returns with non-zero status.

With optional argument desired method searches for matches not between already installed packages, but between available for build. It writes down the total available list with lsrdd(1) to the file T/build_available and uses it as a base for matching packages. Non-found packages are proccessed in the same way as in plain mode.

Dependencies are the list of entries, separated by spaces or new lines. Single entry is the range of allowed package versions and can be one of the forms:

>=used-program-1.2.3
Package used-program must be of version 1.2.3 or higher.
>used-program-1.2.3
Package used-program must be of version strictly higher then 1.2.3.
=used-program-1.2.3
Package used-program must be strictly of version 1.2.3.
used-program-1.2.3
Package used-program must be of version 1.2.3 or higher (same as >=).
<used-program-1.2.3
Package used-program must be of version strictly lower then 1.2.3.
<=used-program-1.2.3
Package used-program must be of version 1.2.3 or lower.

Versions are compared as version strings by algorithm of sort -V. Inner versions, kept by INNER_VERSION or calculated automatically, do not participate in comparison.

Writing

The method writes to T.
In desired mode method writes list of buildable packages to T/build_available.

Variables

The method uses any-api(7) variables:
DEPEND
IMGDIR
T

Interfaces

The method calls lsrdd(1) in desired mode.

Options

The following options affect the method:
any_list_all alternative list of all available packages for desired mode. If not set, default value of rdd_list_entry is used.

See also

any(1), any-map(7), any-api(7), lsrdd(1), pkg_root(3)