On Thu, 21 Jun 2012 11:40:32 -0500 Diego Zamboni <di...@zzamboni.org> wrote: 

DZ> Indeed, the version in github.com/cfengine/copbl/ is the master
DZ> copy, from which the others are (sometimes inconsistently)
DZ> updated. We are working on cleaning up some of this to reduce
DZ> confusion.

DZ> Namespace support will help reduce a lot of potential name collisions
DZ> among Design Center sketches. I am not sure yet how we will solve the
DZ> problem of multiple stdlib inclusions, still thinking about it.

I was thinking about this, and what makes the most sense to me is to
have:

CFEngine::stdlib => latest from Git, requires at least 3.3.x in
sketch.json, but there's no max version

CFEngine::stdlib::3_2_0 => works with versions from 3.1.1 up to 3.2.0,
and sketch.json specifies the supported version interval

CFEngine::stdlib::3_1_0 => works with versions from 3.0.0 up to 3.1.0,
and sketch.json specifies the supported version interval

I am proposing this scheme because so many things validate the policy
syntax before we ever get to run bundles, and namespaces don't prevent
the syntax checks.  We really need to do the separation at the sketch
level.

My assumptions are that bugfixes in the mainline will be backported to
every version-bound stdlib sketch; that we will only make new stdlib
forks when absolutely necessary; that we don't have holes in the version
coverage; that stdlib changes are backwards compatible; and that this
kind of manual segregation is most useful to the cfengine community.

Obviously it's a pain to maintain, but the stdlib benefits everyone so
it's worth a little effort.

Let me know what you think.

Ted
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to