X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:message-id:date:from:mime-version:to:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	 q=dns; s=default; b=GNwTd+n35ZU0hHlAgt1v3Ehr21uRC1TJGacsTus6rAS
	ITtecvhBlrUu1V25egF5xDkh9ew0Y2AoptjYRdcux55swWaqQsHo+oh1pAXRGb9c
	fW1KXZ4xgWyXVEKg+kqueDDYwbiGhuWK4ZVBo5hx0KXUAnpGn4Es9tUejp5uiQV8
	=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:message-id:date:from:mime-version:to:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	 s=default; bh=BgsZpv+bDHnTNK+T+iqSw2Msjmg=; b=qMfFkBjo9HIEVmtkL
	LSMRqDY3qVQIrzzWA8O7sR8VRr+RVADy8KmiL3jLd+kYB7+f+K8ta7arxsctVgD8
	3Ut/A1ikSQ+RvJyNXF+I8bmigslyj5a0emxcuJoyq7OLbivU1r/teca1+U/0eNdX
	8fXntV5pg4V+dLMbtsCB1YU7HI=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00,DATE_IN_PAST_03_06,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_NEUTRAL autolearn=no version=3.3.2
X-HELO: bureau93.ns.utoronto.ca
Message-ID: <52710EC5.2020403@cs.utoronto.ca>
Date: Wed, 30 Oct 2013 09:51:01 -0400
From: Ryan Johnson <ryan.johnson@cs.utoronto.ca>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: setup.ini dependency graph?
References: <526A986D.9040202@cwilson.fastmail.fm> <526B8DF9.5000004@tiscali.co.uk> <5271000D.7000604@cwilson.fastmail.fm>
In-Reply-To: <5271000D.7000604@cwilson.fastmail.fm>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes

On 30/10/2013 8:48 AM, Charles Wilson wrote:
> On 10/26/2013 5:40 AM, David Stacey wrote:
>> On 25/10/13 17:12, Charles Wilson wrote:
>> Oooo - this sounds like fun. I've knocked up some (very bad) perl that
>> gives you what you need. It generates a graphviz file that you can pipe
>> to 'dot' to generate the dependency graph in whatever format you
>> require. Put the perl script and your 'setup.ini' file in the same
>> directory and type:
>>
>>      ./graph_setup_ini.pl | dot -Tpdf -osetup.pdf
>
> Thanks, that worked well.
>
>> Your problem here is Big Data: Cygwin has 3041 packages, and any
>> dependency graph with this number of nodes is going to look a mess. It
>> also takes a while to process the data. Oh, and some PDF viewers won't
>> display the output file (LibreOffice Draw was the only tool I have that
>> managed it). However, if your starting point is a stripped down Cygwin
>> then you might be OK.
>
> Yeah; even for my stripped-down version, I need to pre-process the 
> setup.ini and remove all mentions of cygwin, libstdc++6, libgcc1, etc. 
> The ncurses DLLs are also a huge nexus.  (It's probably easier to 
> exclude those nodes by mucking with the perl, but...)
Quick question: do you have 1+ known-big-unwanted packages and need to 
know who's pulling them in, or are you hoping to take some cut of the 
graph that gets as many desirable packages as possible given the space 
constraints? The graph-building script here is good for the latter, but 
I had the impression you were doing the former; if so, my script might 
get you to an answer faster by avoiding information overload.

Ryan


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

