Mark Burgess wrote:
> On Thu, 2005-05-12 at 14:06 -0500, Brendan Strejcek wrote:
> > Roy MARANTZ wrote:
> >
> > > If the action list is eliminated, IMHO, there needs to be some
> > > mechanism to specify the ordering of actions. i.e. I need to
> > > run shellcommands (and others) twice in order to make sure that
> > > perconditions for certain actions are met. To be concrete, I need to
> > > blow up a tar ball before I can override some file in it.
> >
> > Wouldn't it be cool if you could just do:
> >
> > shellcommands:
> > did_some_command::
> > "/command/that/must/come/after some/command"
> > any::
> > "/some/command"
> > define=did_some_command
> >
> > and have cfagent figure out the rest? There is no complexity or
> > ambiguity for the admin to sort out, and no imperative illusion.
>
>
> You already can do this, if you observe AddInstallable.
But not for more complex dependency/ordering relationships, right?
It seems to me like there are cases where this breaks down, as I tried
to outline in my previous long message.
In fact, here is a simple case where the current method breaks down,
even with no cross-action dependencies.
Here is a one level case where it works:
$ cat test_one_level
#!/usr/sbin/cfagent -qKf
control:
AddInstallable = ( did_first )
actionsequence = ( shellcommands )
shellcommands:
did_first::
"/bin/echo second"
any::
"/bin/echo first"
define=did_first
$ ./test_one_level
cfengine::/bin/echo first: first
cfengine::/bin/echo secon: second
But it breaks with two levels:
$ cat test_two_level
#!/usr/sbin/cfagent -qKf
control:
AddInstallable = ( did_first did_second )
actionsequence = ( shellcommands )
shellcommands:
did_second::
"/bin/echo third"
did_first::
"/bin/echo second"
define=did_second
any::
"/bin/echo first"
define=did_first
$ ./test_two_level
cfengine::/bin/echo first: first
cfengine::/bin/echo secon: second
$
_______________________________________________
Help-cfengine mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-cfengine