This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

stupid graphviz tricks, Was: Re: 1.5.14-1 cygwin1.dll could not be found

Brian Dessent wrote:

> But it's worse than that, what if there is a cyclical depedency -- 'foo'
> requires 'bar' which requires 'baz' which requires 'foo'.  There's no
> way to handle that other than to install them all and then run all three
> postinstalls.

On a somewhat related note, I was playing around with a perl script a
couple of weeks ago that used graphviz to draw a graph of the
relationship of cygwin packages.

*** WARNING: huge graphic: 5155x1151 pixels ***

(If you're using a browser like firefox it will probably scale the image
down to fit on the screen, so undo that scaling to actually see

You can also try the pdf version, which you can actually zoom into and
read the names of each node.  The png file would be absolutely enormous
if it was readable.  You have to keep zooming quite a bit to get it
readable though.

The colors go by category: Base -> yellow, Devel -> green, Libs -> cyan,
X11 -> blue, Net -> purple, Text -> pink, Doc -> brown, and everything
else orange.

The edges (a -> b means a requires b) are generally pointing downwards,
i.e. the packages at the top of the graph have many dependencies and the
stuff at the bottom are things that are depended on the most by other
things.  (I'm sure there's a better way to say that.)  The 'cygwin'
package is absent, because just about everything depends on it and it
would make the graph stupid large.

That is the output of 'dot'.  I also have outputs for 'neato' and 'fdp'
which are somewhat less interesting (they look like a huge ball of

Anyway, I don't pretend that there's any practical use for this, just
some silly eye candy.


Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]