No side effects, no surprises.

Dependency tree

The dependency tree builder reorders the rulebook's base objects according to any dependencies specified in the source code files. By default, the ordering of objects is indeterminate, and will vary according to how the host's filesystem responds to a request to retrieve a glob of files. When one object must be evaluated before another object, the dependency keyword can be used to instruct the dependency tree builder to explicitly reorder the future use of those objects.

In this example, A is explicitly stated to be dependent upon B, so the order of evaluation will be altered such that B is evaluated before A. Note also that in this example, C is independent, and could be evaluated before, during, or after A and B.

sample-dependency.v
[A]
type = file
permissions = 640
path = /etc/sysconfig/network
dependency = B

[B]
type = file
permissions = 640
path = /etc/sysconfig/rsyslog

[C]
type = file
permissions = 640
path = /etc/sysconfig/i18n