----- Original Message -----
From: "Charles Wilson" <[EMAIL PROTECTED]>
> I guess my earlier 'test' didn't really *test* what I thought it was
> testing...sorry for the trouble, folks.

No problem, all's forgiven 'cause you found a bug :}.

> BUT: the dependency loop NEEDS to be there -- becuase those packages
ARE
> mutually dependent.  It's just that setup needs to traverse the loop
> only once and terminate. :-)

It's actually a little harder than that. You need to either
a) limit the depth of recursion/stack growth
b) build a network of visited nodes and only recurse into unvisited
nodes.

I've implemented a), which has the downside that in corner cases, (in
this case, a chain 6 requires: statements long) packages may not get
grabbed. Mind you, this means that of those 7 packages, the user must
select ONLY the first one, and no other packages can require: any
package further down the chain than the 2nd one. I.e. not much of an
issue :}.

However b) is the proper solution IMO, but more time is needed to do it
right, so I'm leaving that for another day.

Rob

Reply via email to