propellor/debian
Joey Hess afee550e70 Property tree
Properties now form a tree, instead of the flat list used before.

This simplifies propigation of Info from the Properties used inside a
container to the outer host; the Property that docks the container on the
host can just have as child properties all the inner Properties, and their
Info can then be gathered recursively. (Although in practice it still needs
to be filtered, since not all Info should propigate out of a container.)

Note that there is no change to how Properties are actually satisfied.
Just because a Property lists some child properties, this does not mean
they always have their propertySatisfy actions run. It's still up to the
parent property to run those actions.

That's necessary so that a container's properties can be satisfied inside
it, not outside. It also allows property combinators to
add the combined Properties to their childProperties list, even if,
like onChange, they don't always run the child properties at all.

Testing: I tested that the exact same Info is calculated before and after
this change, for every Host in my config file.
2015-01-18 18:46:38 -04:00
..
README.Debian ugly workaround for lack of history in repo distributed with debian package 2014-08-19 16:40:04 -04:00
changelog Property tree 2015-01-18 18:46:38 -04:00
compat debianization and a wrapper program for /usr/bin 2014-04-03 01:55:49 -04:00
control prep 2015-01-04 19:51:50 -04:00
copyright copyright update 2014-11-21 22:27:13 -04:00
rules fix man page installation 2014-08-19 19:06:21 -04:00

README.Debian

The Debian package of propellor ships its full source code because
propellor is configured by rebuilding it, and embraces modification of any
of the source code.

/usr/bin/propellor is a wrapper which will set up a propellor git
repository in ~/.propellor/, and run ~/.propellor/propellor if it exists.
Edit ~/.propellor/config.hs to configure it.

Note that upgrading the propellor package will not update your
~/.propellor/ repository. This is because you may have local changes
to the source, or may need to adapt your config.hs to work with the new
version of propellor. Instead, if your ~/.propellor/ is from an older
version of propellor, /usr/bin/propellor will warn that it's out of date,
and tell you how to merge in the changes.