gump-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leo Simons <lsim...@jicarilla.org>
Subject Re: [revelation!!] circular dependencies do NOT exist!
Date Fri, 17 Dec 2004 11:17:54 GMT
Stefano Mazzocchi wrote:
> It came to me as a revelation today: one of the problems with gump that 
> I could never figure out is the fact that circular dependencies prevent 
> the ability to "bootstrap" after a certain point.
<snip/>
> In fact, a particular version is the crystallization of all the time 
> dependencies across the above trallis, but if we take into consideration 
> the time axis, there is no such a thing as circular dependencies.

:). Aye.

A common approach in physics (or in math) is to add in another variable, 
constant, dimension, whatever, in order to get around annoying 
limitations of a model. The key problem with that is that the model 
becomes harder and harder to understand and work with, up to the point 
where like 3 people on the planet really understand it (I certainly 
don't get why string theorists think there's 13 dimensions. 7, maybe. 
But after that I get lost).

The same is true of bootstrapping. Someone who's doing, for example, 
linux from scratch (linuxfromscratch.org I think), is almost certainly 
not thinking about


  A:0-------A:1----------------------------->
   ^        /
    \      /
   needs needs
      \  /
       \v
  -----B:1--------------------------------->


but is using one very specific often-used snapshot provided by someone 
else (the "(A,B):bootstrap" distro).

Extending the above mechanism to 40 (or 4000!) projects all with 
time-invariant circular dependencies among themselves is kind of a pain, 
and I think most, for example, cocoon developers certainly aren't aware 
of their time-variant dependency graph.

So while we can probably build gump to work like this (heck, it already 
works like this "manually"), we'd need to do some powerful visualisation 
to make people understand what's going on.

"A:20041215 failed because B:20041214 depends on C:20041213 for 
bootstrapping which depends on behaviour of A:20041212 that was broken 
from A:20041213 on."

try and figure that out for 700 projects, and explain it properly! :-D

So while circular dependencies don't exist if we ingrain our graph with 
the time dimension completely, it will at the same time become a lot 
more difficult to understand the graph and act upon changes to it. :/


cheers,


- Leo

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org


Mime
View raw message