delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/04/06/20:24:50

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <42547EA0.DE6BDA71@dessent.net>
Date: Wed, 06 Apr 2005 17:28:16 -0700
From: Brian Dessent <brian AT dessent DOT net>
Organization: My own little world...
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: stupid graphviz tricks, Was: Re: 1.5.14-1 cygwin1.dll could not be found
References: <F76C9B2DA2FC4C4CA0A18E288BBCBCF71026EF5E AT nihexchange24 DOT nih DOT gov> <4254790E DOT 42F0648F AT dessent DOT net>
X-IsSubscribed: yes
Reply-To: cygwin AT cygwin DOT com

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 ***
http://dessent.net/cygwin/cygpackages.png

(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
anything)

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.
http://dessent.net/cygwin/cygpackages.pdf

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
twine.)

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

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019