8.2. Data assignment

The given section lists parallel examples with the launch of two commands.

any do
performs the build with assigned data.
datardd
allows to view resulting data on the terminal.
Given commands have the same syntax and principles of data assignment.

One may add data into configuration in the following ways:

-
with command line option:
            any do default zlib-1.2.11 any_newdata=1
            datardd default zlib-1.2.11 any_newdata=1
Options may be put into any position at the command string after the command any do itself.

-
with the record of a new option into rdd.def:
            [default]
            any_newdata=1
After that the usual call with configuration default:
            any do default zlib-1.2.11
            datardd default zlib-1.2.11
will cause the section [default] inside config will be read and the new option any_newdata=1 will be added to overall data array.

-
with adding of a new word to the called configuration:
            any do default,new zlib-1.2.11
            datardd default,new zlib-1.2.11
In that case the section new will be added to the list of sections in configuration files, which will be read. If a configuration file has section [new], all data from there will be added to overall array:
            [default]
            # something

            [new]
            any_fromfile=1
In the example above the option any_fromfile=1 will be added.

-
with the record of a new option into one of the configs in directory rdd.conf.d/:
            [new]
            any_fromconfig=1
            any do default,new zlib-1.2.11
            datardd default,new zlib-1.2.11
The files from rdd.conf.d/ follow the same conventions as the file rdd.def. The difference between them is: rdd.conf.d/ keeps universal library values, and rdd.def keeps the choice for the current working directory, temporary and debug values.

Data priorities are defined in the following way:

-
command line options have the highest priority.
-
data from rdd.def has the next priority. Also the data with sections, specified closer to the right, have more priority. For example:
            any do default,new zlib-1.2.11
            datardd default,new zlib-1.2.11
            [default]
            any_conflict=left
            [new]
            any_conflict=right
The value any_conflict=right will be chosen, because the word new is specified closer to the right in command line, the the word default.

The same is applied concerning the rdd_prf_id:

            [default]
            rdd_prf_id = one, two
            [one]
            any_conflict=left
            [two]
            any_conflict=right
The value any_conflict=right will be chosen, as the word two is specified closer to the right in the key option rdd_prf_id.

-
personal config for a package ports/packages/packagename/atom.conf has the next priority.
-
data from files rdd.conf.d/*.conf has the next priority. The same order principle behaves for the configs .conf, as for rdd.def.

Along with that all values, read from any section of rdd.def or atom.conf, are not changed anymore by the reading from rdd.conf.d, even by the most priority section. So the working config rdd.def or personal config atom.conf are not influenced by deeply nested data from library files.

See also:

Detailed description of any-do(1).
Low-level details about data reading are listed in rdd(1).
The individual description datardd(1).