delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2013/11/04/12:31:45

X-Recipient: archive-cygwin AT delorie DOT 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; q=dns; s=default; b=FWib2Y
Cs7r6NUVe9Mr8PanxPXxm2m2JVqJnGOIPQAKPl/xyyQKs8YbhRRU3F4g0LFeP18y
27CTahgQflAVN5P0bGNTJU8pCs3gQ5+D8yWwhFlBuhTuq9KThTen2bAqz++Cs64o
S9DctbhYuu0umRGDLvUUL8yIiGArBFPLxk1ho=
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; s=default; bh=UH9Pkv99opZW
Ef1ml54rn4ckqzw=; b=Z3yL5O3OwLJ7QAy9DeKPAwRd89dF6L1P2m6GkpqcDA6Q
C5ET6ACvwpnFXki3akk2XWHXAarFINeDXpIFc3H4Tf1U8P8gLt2+LrGheatxR0xt
KQ3+19CL9Hr80lwD0d1rSNNihWLs+OkfvvjYc1c9suCtdzGcSjWi8rhlhKr2ptQ=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
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
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=0.2 required=5.0 tests=AWL,BAYES_50,RDNS_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no version=3.3.2
X-HELO: out4-smtp.messagingengine.com
Message-ID: <5277D9C6.9030600@cwilson.fastmail.fm>
Date: Mon, 04 Nov 2013 12:30:46 -0500
From: Charles Wilson <cygwin AT cwilson DOT fastmail DOT fm>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0
MIME-Version: 1.0
To: The Cygwin Mailing List <cygwin AT cygwin DOT com>
Subject: Re: setup.ini dependency graph?
References: <526A986D DOT 9040202 AT cwilson DOT fastmail DOT fm> <526B8DF9 DOT 5000004 AT tiscali DOT co DOT uk> <5271000D DOT 7000604 AT cwilson DOT fastmail DOT fm> <52710EC5 DOT 2020403 AT cs DOT utoronto DOT ca> <5277AFEA DOT 9060404 AT cwilson DOT fastmail DOT fm> <20131104160032 DOT GB5526 AT ednor DOT casa DOT cgf DOT cx>
In-Reply-To: <20131104160032.GB5526@ednor.casa.cgf.cx>

--------------010007090107020406040901
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

On 11/4/2013 11:00 AM, Christopher Faylor wrote:
> On Mon, Nov 04, 2013 at 09:32:10AM -0500, Charles Wilson wrote:
>> I've got a few cleanups, and then I'll share the result.  It's already
>> helped me generate a few re-packaging requests I plan to post over on
>> cygwin-apps...
>
> Is this packagable?  It sounds pretty interesting.

Probably. I could put it in cygutils, or standalone (like the new 
cygcheck-leaves package is a standalone utility).

> Would it be crazy to generate this and make it available on the cygwin
> web site?  Or would the dependency graph generation overload
> sourceware.org?

The basic processing to generate a .dot file is pretty simple really; 
just string comparisons and hash manipulations. But as Ryan already 
pointed out, generating the actual graph in whatever format, is probably 
compute intensive.

See attached...

The svg files in the tarball correspond to each of the --mode options. 
The tool was invoked as:
    setup-ini-graph -i setup.ini -o $dotfile --mode=$mode netpbm
followed by (on linux)
    dot -Tsvg $dotfile > $svgfile

Help output:
> Usage:
>     setup_ini_graph [options] [packagename [packagename ...]]
>
>      Options:
>        --help|-?                brief help message
>        --man                    full documentation
>        --version                show version information
>        --mode STRING            specify the output mode. Possible values:
>                                   strip-base-and-requirements <default>
>                                   strip-base-only
>                                   collapse-base-and-requirements
>                                   collapse-base-only
>                                   show-only-base-and-requirements
>                                   show-base-requirements-only
>                                   show-all
>        --color STRING           set color of specified packages <lightblue>
>        --color-req STRING       set color of package requirements <palegreen>
>        --color-base STRING      set color of Base packages <plum>
>        --color-base-req STRING  set color of Base requirements <pink>
>        --input|-i FILE          specify input setup.ini file <STDIN>
>        --output|-o FILE         specify output .dot file <STDOUT>
>        --verbose                turn on debugging output
>
>     If packagenames are specified, then only the specified packages and
>     their dependencies are analyzed. If no packages are specified, then all
>     packages in the setup.ini are analyzed.
>
> Options:
>     --help  Print a brief help message and exits.
>
>     --man   Prints the manual page and exits.
>
>     --version
>             Prints version information and exits.
>
>     --mode STRING
>             Specify the output mode. The STRING may be one of the following
>             options:
>
>             strip-base-and-requirements
>                 All packages in the Base category, and packages on which
>                 they depend, are completely removed from the output. This is
>                 the default mode.
>
>             strip-base-only
>                 All packages in the Base category are completely removed
>                 from the output.
>
>             collapse-base-and-requirements
>                 All packages in the Base category, and packages on which
>                 they depend, are replaced by a single node 'Base'.
>
>             collapse-base-only
>                 All packages in the Base category are replaced by a single
>                 node 'Base'.
>
>             show-only-base-and-requirements
>                 Ignore all packages that are not in the Base category, or
>                 are not required by packages in the Base category.
>
>             show-base-requirements-only
>                 As above, but the packages which are members of the Base
>                 category are replaced by a single node 'Base'.
>
>             show-all
>                 Chart the entire dependency tree.
>
>     --color STRING
>             Sets the color to be used for nodes that represent the packages
>             listed on the command line (or all packages extracted from
>             setup.ini that do not fall into one of the other categories
>             below). May be an RGB color name such as palegoldenrod, or an
>             RGB triple of the form #DA70D6. Note that in the latter case,
>             the # must be escaped as \#DA70D6 or '#DA70D6'. The default
>             value is lightblue (#ADD8E6).
>
>     --color-req STRING
>             Sets the color to be used for nodes that represent packages that
>             are required by the ones listed on the command line, but which
>             do not fall into one of the other categories below. The default
>             value is palegreen (#98FB98). See --color for more information.
>
>     --color-base STRING
>             Sets the color to be used for nodes that represent packages that
>             are in the Base category. It is also used to color the 'Base'
>             node in the collapse --mode options. The default value is plum
>             (#DDA0DD). See --color for more information.
>
>     --color-base-req STRING
>             Sets the color to be used for nodes that represent packages
>             which are required by packages in the Base category, but are not
>             in the Base category themselves. The default value is pink
>             (#FFC0CB).
>
>     --input FILENAME
>             Use the specified input file. Defaults to <STDIN>.
>
>     --output FILENAME
>             Use the specified output file. Defaults to <STDOUT>.
>
>     --verbose
>             Turn on verbose output (to STDERR).

--
Chuck


--------------010007090107020406040901
Content-Type: application/octet-stream;
 name="netpbm-dependency-chart-svg.tar.xz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="netpbm-dependency-chart-svg.tar.xz"

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
E+sm9qvLj2owUal7c3TPTbtIyHpiE2VkrKHXo7ywN4eitYvpOSzj9g+TvXQf
kZj0uW9788tp2HpexY+vKlf0U5HJcIBSbDExsUGX+JEVqFPzd3u2RiFD2i+Z
7Id3ADlvMbI45mBqG+TmPhIb4lsFj28OzC2Cs9Y8bjC6Z4Z9dww+t1aDQK2d
taFP3+adVAlASrA3RtmTaXLKsalQExKEOkykyIOL6lfFv/4IiudDE5GxAJ7M
sXSRvcpnrz4liOBSkHeWRwkGi613GtWGjCwx9AnWG/TB5mjWuKZNjZ9l6KM8
sldjvE8GI5d/YZy3EpOj7BYwDRX6QYD6Bz97a6OieTJ674DcuyA4hl7ROxRt
MLQP4mTvJ3KLwD8pOmPb5YBSiidw7A68ww/TwQLVUMlS8hNYEQIrXxEz65pU
HgPAGuo53lSTxkRPQfi7/1wlCCLvTpRGrA2Nw2P2YxQcqA1Uc9O5et1+HvhD
Jtsmh3pGm5ZEfwp0izwWgp+Z7HqftgpANjkjDRY8ebBWwRjEwHkEr99xCgXq
F/2UP/DSbqIV/s4hPEVZamng05IwlOugOvq+3C/0Z30KoSGkBSRLF31E53eu
bEmXnbbXaulG+M9Tz+obvHxB+qLLKcc1MEeCPotJcEZJJ1u8nCwcEzbqLTcz
dc7d5ddJufJXtcmHO9O6R2q+Znrxj6OxkU7vi9dVJnFMv7SrvNGP62W6jagU
irMXhkpy29sCTw8dQ5E7YKjPwn6FNOF9ZKTNv0XK7mGfRXYdkqOgyUa2kZfi
2qQqImnMjYqexLrEK4e36xM5O0RvdkWOuezsf9P0Cox5JtE02qDvc12pFtiO
qj67k8/T5TOTr5fkbUx+2G0oTq2NPyREaBT4iMom2d2SkhoJChwoOlsvV6Yn
wocKDN5FM2L+1iK0BT+8GN+K6+YE69Il/Pk3onxNCWeA2R0MyDq6jRP6Kmc0
tgYPxPaYIIwr9cgVcqmBThS8e4btS/YaktzFTE24l5gBY/liZYLVRL9D040z
4ROFWTFgPKD6D7CLEbn+LhTYaVe1aJpaLRJ/xCdKXwkVoeLKNS8cgRj17KRz
Wun8e3+qeDjkuGurad4Jucu88Uaj6AiRpmGd67w+7tf2JK02f4fnHqMqSaCP
N60rMo/ROcVgb6/U2+KAQRgLNyGAVumqMAYCNwlzIsYIo1DHswAG+y4hHkMz
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
hathadKGUEsVQVZ+87k5A89S33X7v5QZyx8eRpy9WBB4b4AFY/qNfMDoJTge
2NR0cgkhUlKIyDbFRIaLlg9r7j5GHHQ9u/ssyMl2hoDo0DTze+fOTZXVZOD1
6sx866pq9XBb965fT8lcCb9BhirD3jpYjcUsjUhzVz9mJlT/pUpFmavOvbNr
WyEfxLD//H3GQ4HVvX9R/IKaEgt3YEiDN2xpH/sEFc2bNrrsp/wfrFgC1E+J
O6gYsWqMeiC8S5oDkRqmc2ka11aT7Q5wAJRqKRrrgDoeUeq7qd3iiYbHCWMg
n8/3ET/CMhA8w795wErV8iCkL24bFJnADIxjK6Zr8v3aTxUAU7xw8NRGWxFB
n9AS+29b1t47gK2rVBNLeHmEBat6b/sl257I1+kW5r1ALeB/uOtTD3jfDGW4
Ki2U2T3nZI92qSQnwVHkVl0NSA0IBsOV0Jyvohe2CKtceSQJk4/YFMwKYHGD
KfUid7BJYGQtiy5bCtIi5QflvyINMKHwl9Epbmm5MoyU4qJtfEgz6JxcHmg4
crWQ/T1XESOH78RSU0sSTPUG2j4FBiMQLt3X5WM8hHyuPCo4xPAK/rU3f8B9
KzvEsjJiLDRzVPchHlJaUqaR8UVcP6FsSm3uY3VhZgGhiATKwkpeYckHjYo8
wQQ2Hb4JyEgRJalBn/yNF4+X4kQahMceuWRGtVlNGU35ApERlcNJjW4r05LN
CTvr/D0fjUPs4Jw30zm6dIe4UqENltmStfisz0lR7T3UWrCVywN8ez+CUj1g
lIR48CWN1JpKtfP7BCIlw1KqJEzunRYszVDfnYGG1cGYKgKOte97wlo5loB5
3NZU0T0cjqdRa5bsJ6V4/pn4Cr8x555hUb1dsdw95Vl8uo17TZfmuJ6yFc+E
YvO9IpCK8nhhmluGuZRn++HLondjDHHpNi5krJ5HYGaCD7vTCQuXSI8k9aFR
XHfqiBDEmnRi/BDgE+6u/kaWrIC9vafevaNJT7gnOLmKx61COKQjZ7FZ67Ug
m1xnYq2Uldn84ibbJW0U3uq/yXT5bYq26YCT04sg0ocHvyumeouvds6H9mqf
mydjxHYFZeu61q8Grs1pLaPqjucQQKTT2yJkYm2RKMe5k1d0+5HZuIWdWWdF
k7i6u0wc5X0JlRB2wX1cle2126lsS3s/PH2stRxed9UCXxnuZgBdaONPJglu
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

--------------010007090107020406040901
Content-Type: text/plain; charset=windows-1252;
 name="setup-ini-graph"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="setup-ini-graph"

#!/usr/bin/perl -w
# -*- cperl -*-
# setup-ini-graph - Generate a graph of cygwin dependencies culled
#                   from setup.hint
# Copyright (C) 2013 Charles Wilson, David Stacey

# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

use strict;
use version;
use Getopt::Long qw(:config gnu_getopt auto_version);
use Pod::Usage;
use Storable;

$main::VERSION = version->new("0.9");
my $man = 0;
my $help = 0;
my $base_mode = \&strip_base_and_rqmnts;
my $opt_verbose = 0; # default value = false
my $base_color      = 'plum';
my $base_reqs_color = 'pink';
my $key_color       = 'lightblue';
my $key_reqs_color  = 'palegreen';
my $infile = '-';
my $IFH = \*STDIN;
my $outfile = '-';
my $OFH = \*STDOUT;
my %valid_mode = (
 'strip-base-and-requirements'     => \&strip_base_and_rqmnts,
 'strip-base-only'                 => \&strip_base_only,
 'collapse-base-and-requirements'  => \&collapse_base_and_rqmnts,
 'collapse-base-only'              => \&collapse_base_only,
 'show-only-base-and-requirements' => \&show_only_base_and_rqmnts,
 'show-base-requirements-only'     => \&show_base_rqmnts_only,
 'show-all'                        => \&show_all,
);

GetOptions ('help|?'         => \$help,
            'man'            => \$man,
            'mode=s'         => \&mode_handler,
            'color'          => \$key_color,
            'color-req'      => \$key_reqs_color,
            'color-base'     => \$base_color,
            'color-base-req' => \$base_reqs_color,
            'verbose+'       => \$opt_verbose,
            'input|i=s'      => \&input_handler,
            'output|o=s'     => \&output_handler) or pod2usage(2);
pod2usage(1) if $help;
pod2usage(-exitval => 0, -verbose => 2) if $man;


sub mode_handler {
  my ($opt_name, $opt_value) = @_;
  die "invalid value for $opt_name option: '$opt_value'" unless (exists($valid_mode{$opt_value}));
  $base_mode = $valid_mode{$opt_value};
}

sub input_handler {
  my ($opt_name, $opt_value) = @_;
  # if we've already opened a file for input (other than STDIN), close it
  if ($IFH and not $IFH == \*STDIN) {
    close $IFH;
  }
  if ($opt_value eq '-') {
    $IFH = \*STDIN;
    $infile=$opt_value;
  }
  elsif ($opt_value) {
    open $IFH, '<', $opt_value or die $!;
    $infile=$opt_value;
  }
}

sub output_handler {
  my ($opt_name, $opt_value) = @_;
  # if we've already opened a file for output (other than STDOUT), close it
  if ($OFH and not $OFH == \*STDOUT) {
    close $OFH;
  }
  if ($opt_value eq '-') {
    $OFH = \*STDOUT;
    $outfile=$opt_value;
  }
  elsif ($opt_value) {
    open $OFH, '>', $opt_value or die $!;
    $outfile=$opt_value;
  }
}

sub collect_key_pkgs {
  my ($KeyPkgsRef, $ArgvRef, $LinesRef) = @_;
  my $package_name = '';
  my $numArgs = scalar @{$ArgvRef};
  if ($numArgs == 0)
  {
    # parse all @ lines from setup.ini
    foreach my $line (@{$LinesRef})
    {
      $line =~ s/\R//g;
      if ($line =~ /^@ /)
      {
        # and add them all to KeyPkgs
        ($package_name = $line) =~ s/^@ //;
        $KeyPkgsRef->{$package_name} = ();
      }
    }
  }
  else
  {
    my %pkgArgs;
    @pkgArgs{@{$ArgvRef}} = ();

    # parse all @ lines from setup.ini
    foreach my $line (@{$LinesRef})
    {
      $line =~ s/\R//g;
      if ($line =~ /^@ /)
      {
        ($package_name = $line) =~ s/^@ //;

        # check if it is in %pkgArgs, and if so add it
        if (exists($pkgArgs{$package_name}))
        {
          $KeyPkgsRef->{$package_name} = ();
          # and remove from pkgArgs
          delete $pkgArgs{$package_name};
        }
      }
    }
    # Check that %pkgArgs is empty; if not, then the user
    # specified packages that do not exist
    if (not scalar keys %pkgArgs == 0)
    {
      my $errMsg = ','.join(keys(%pkgArgs));
      die 'Error: some packages specified do not exist in the setup.ini:\n\t$errMsg'
    }
  }
}

sub get_base {
  my ($BaseRef, $LinesRef) = @_;
  my $package_name = '';
  foreach my $line (@{$LinesRef})
  {
    $line =~ s/\R//g;
    if ($line =~ /^@ /)
    {
      ($package_name = $line) =~ s/^@ //;
    }
    elsif ($line =~ /^category: /)
    {
      (my $categories = $line) =~ s/^category: //;
      my %cats;
      my @keys = split(/ /, $categories);
      @cats{@keys} = ();
      if (exists($cats{'Base'}))
      {
        $BaseRef->{$package_name} = ();
      }
    }
  }
}

sub get_requires {
  my ($PlusReqsRef, $ReqsRef, $PkgSetRef, $LinesRef) = @_;
  %{$PlusReqsRef} = %{ Storable::dclone ($PkgSetRef) };
  my $package_name = '';
  my $oldsetsize = 0;
  my $newsetsize = scalar keys %{$PlusReqsRef};

  while ($oldsetsize != $newsetsize)
  {
    $oldsetsize = $newsetsize;
    foreach my $line (@{$LinesRef})
    {
      $line =~ s/\R//g;
      if ($line =~ /^@ /)
      {
        ($package_name = $line) =~ s/^@ //;
      }
      if (exists($PlusReqsRef->{$package_name}))
      {
        if ($line =~ /^requires: /)
        {
          (my $requires = $line) =~ s/^requires: //;
          my @rqts = split(/ /, $requires);
          foreach my $rqt (@rqts)
          {
            if (not exists($PlusReqsRef->{$rqt}))
            {
              $PlusReqsRef->{$rqt} = ();
            }
          }
        }
      }
    }
    $newsetsize = scalar keys %{$PlusReqsRef};
  }
  %{$ReqsRef} = %{ Storable::dclone ($PlusReqsRef) };
  foreach my $key (keys %{$PkgSetRef})
  {
    delete $ReqsRef->{$key};
  }
}


sub strip_base_and_rqmnts {
  my ($NodeOrEdgeMode,
	  $BaseRef, $BasePlusReqsRef, $BaseReqsRef,
	  $KeyPkgsRef, $KeyPkgsPlusReqsRef, $KeyPkgsReqsRef,
	  $HasBaseRqmntRef, $PackageName, $line) = @_;
  if ($NodeOrEdgeMode == 0)
  {
	# color keypkg nodes light goldenrod yellow
	color_nodes ($KeyPkgsRef, $key_color);
	# color nodes required by keypkgs
	# color_nodes ($KeyPkgsReqsRef, $key_reqs_color);
  }
  else
  {
	# if it is not in our "universe", skip it
	return if (not exists($KeyPkgsPlusReqsRef->{$PackageName}) and
		       not exists($BasePlusReqsRef->{$PackageName}));

    # don't do anything for packages in Base or packages required
    # by Base.
    return if (exists($BasePlusReqsRef->{$PackageName}));

    (my $requires = $line) =~ s/^requires: //;
    my @rqts = split(/ /, $requires);
    foreach my $rqt (@rqts)
    {
      if (not exists($BasePlusReqsRef->{$rqt}))
      {
        print $OFH "\t\"$PackageName\" -> \"$rqt\";\n";
      }
    }
  }
}


sub strip_base_only {
  my ($NodeOrEdgeMode,
	  $BaseRef, $BasePlusReqsRef, $BaseReqsRef,
	  $KeyPkgsRef, $KeyPkgsPlusReqsRef, $KeyPkgsReqsRef,
	  $HasBaseRqmntRef, $PackageName, $line) = @_;
  if ($NodeOrEdgeMode == 0)
  {
	# color nodes required by base powderblue
	color_nodes ($BaseReqsRef, $base_reqs_color);
	# color keypkg nodes light goldenrod yellow
	color_nodes ($KeyPkgsRef, $key_color);
	# color nodes required by keypkgs
	# color_nodes ($KeyPkgsReqsRef, $key_reqs_color);
  }
  else
  {
	# if it is not in our "universe", skip it
	return if (not exists($KeyPkgsPlusReqsRef->{$PackageName}) and
		       not exists($BasePlusReqsRef->{$PackageName}));

    # don't do anything for packages in Base
    return if (exists($BaseRef->{$PackageName}));

    (my $requires = $line) =~ s/^requires: //;
    my @rqts = split(/ /, $requires);
    foreach my $rqt (@rqts)
    {
      if (not exists($BaseRef->{$rqt}))
      {
        print $OFH "\t\"$PackageName\" -> \"$rqt\";\n";
      }
    }
  }
}


sub collapse_base_and_rqmnts {
  my ($NodeOrEdgeMode,
	  $BaseRef, $BasePlusReqsRef, $BaseReqsRef,
	  $KeyPkgsRef, $KeyPkgsPlusReqsRef, $KeyPkgsReqsRef,
	  $HasBaseRqmntRef, $PackageName, $line) = @_;
  if ($NodeOrEdgeMode == 0)
  {
	my %CollapsedBase;
	$CollapsedBase{'Base'} = ();
	# color 'Base' node
	color_nodes (\%CollapsedBase, $base_color);
	# color keypkg nodes
	color_nodes ($KeyPkgsRef, $key_color);
	# color nodes required by keypkgs
	# color_nodes ($KeyPkgsReqsRef, $key_reqs_color);
  }
  else
  {
	# if it is not in our "universe", skip it
	return if (not exists($KeyPkgsPlusReqsRef->{$PackageName}) and
		       not exists($BasePlusReqsRef->{$PackageName}));

    # don't do anything for packages in Base or packages required
    # by Base.
    return if (exists($BasePlusReqsRef->{$PackageName}));

    (my $requires = $line) =~ s/^requires: //;
    my @rqts = split(/ /, $requires);
    foreach my $rqt (@rqts)
    {
      if (exists($BasePlusReqsRef->{$rqt}))
      {
        # This requirement is one of the packages in Base, or is
        # one of the requirements OF one of the packages in Base.
        # Replace it with a requirement labeled "Base" but ensure
        # we only have one such for each.
        if (not $$HasBaseRqmntRef)
        {
          print $OFH "\t\"$PackageName\" -> \"Base\";\n";
          $$HasBaseRqmntRef = 1;
        }
      }
      else
      {
        print $OFH "\t\"$PackageName\" -> \"$rqt\";\n";
      }
    }
  }
}


sub collapse_base_only {
  my ($NodeOrEdgeMode,
	  $BaseRef, $BasePlusReqsRef, $BaseReqsRef,
	  $KeyPkgsRef, $KeyPkgsPlusReqsRef, $KeyPkgsReqsRef,
	  $HasBaseRqmntRef, $PackageName, $line) = @_;
  if ($NodeOrEdgeMode == 0)
  {
	my %CollapsedBase;
	$CollapsedBase{'Base'} = ();
	# color 'Base' node
	color_nodes (\%CollapsedBase, $base_color);
	# color nodes required by base
	color_nodes ($BaseReqsRef, $base_reqs_color);
	# color keypkg nodes
	color_nodes ($KeyPkgsRef, $key_color);
	# color nodes required by keypkgs
	# color_nodes ($KeyPkgsReqsRef, $key_reqs_color);
  }
  else
  {
	# if it is not in our "universe", skip it
	return if (not exists($KeyPkgsPlusReqsRef->{$PackageName}) and
		       not exists($BasePlusReqsRef->{$PackageName}));

    # don't do anything for packages in Base
    return if (exists($BaseRef->{$PackageName}));

    (my $requires = $line) =~ s/^requires: //;
    my @rqts = split(/ /, $requires);
    foreach my $rqt (@rqts)
    {
      if (exists($BaseRef->{$rqt}))
      {
        # This requirement is one of the packages in Base
        # Replace it with a requirement labeled "Base" but ensure
        # we only have one such for each.
        if (not $$HasBaseRqmntRef)
        {
          print $OFH "\t\"$PackageName\" -> \"Base\";\n";
          $$HasBaseRqmntRef = 1;
        }
      }
      else
      {
        print $OFH "\t\"$PackageName\" -> \"$rqt\";\n";
      }
    }
  }
}


sub show_only_base_and_rqmnts {
  my ($NodeOrEdgeMode,
	  $BaseRef, $BasePlusReqsRef, $BaseReqsRef,
	  $KeyPkgsRef, $KeyPkgsPlusReqsRef, $KeyPkgsReqsRef,
	  $HasBaseRqmntRef, $PackageName, $line) = @_;
  if ($NodeOrEdgeMode == 0)
  {
	# color base nodes
	color_nodes ($BaseRef, $base_color);
	# color nodes required by base
	color_nodes ($BaseReqsRef, $base_reqs_color);
  }
  else
  {
	# if it is not in our "universe", skip it
	return if (not exists($KeyPkgsPlusReqsRef->{$PackageName}) and
		       not exists($BasePlusReqsRef->{$PackageName}));

    # don't do anything for packages that are not either (a) in
    # Base or (b) required by a package in Base.
    return if (not exists($BasePlusReqsRef->{$PackageName}));

    (my $requires = $line) =~ s/^requires: //;
    my @rqts = split(/ /, $requires);
    foreach my $rqt (@rqts)
    {
      print $OFH "\t\"$PackageName\" -> \"$rqt\";\n";
    }
  }
}


sub show_base_rqmnts_only {
  my ($NodeOrEdgeMode,
	  $BaseRef, $BasePlusReqsRef, $BaseReqsRef,
	  $KeyPkgsRef, $KeyPkgsPlusReqsRef, $KeyPkgsReqsRef,
	  $HasBaseRqmntRef, $PackageName, $line) = @_;
  if ($NodeOrEdgeMode == 0)
  {
	my %CollapsedBase;
	$CollapsedBase{'Base'} = ();
	# color 'Base' node
	color_nodes (\%CollapsedBase, $base_color);
	# color nodes required by base
	color_nodes ($BaseReqsRef, $base_reqs_color);
  }
  else
  {
	# if it is not in our "universe", skip it
	return if (not exists($KeyPkgsPlusReqsRef->{$PackageName}) and
		       not exists($BasePlusReqsRef->{$PackageName}));

    # don't do anything for packages that are not a requirement
    # of a package in Base.
    return if (not exists($BaseReqsRef->{$PackageName}));

    (my $requires = $line) =~ s/^requires: //;
    my @rqts = split(/ /, $requires);
    foreach my $rqt (@rqts)
    {
      if (exists($BaseRef->{$rqt}))
      {
        # This requirement is one of the packages in Base
        # Replace it with a requirement labeled "Base" but ensure
        # we only have one such for each.
        if (not $$HasBaseRqmntRef)
        {
          print $OFH "\t\"$PackageName\" -> \"Base\";\n";
          $$HasBaseRqmntRef = 1;
        }
      }
      else
      {
        print $OFH "\t\"$PackageName\" -> \"$rqt\";\n";
      }
    }
  }
}


sub show_all {
  my ($NodeOrEdgeMode,
	  $BaseRef, $BasePlusReqsRef, $BaseReqsRef,
	  $KeyPkgsRef, $KeyPkgsPlusReqsRef, $KeyPkgsReqsRef,
	  $HasBaseRqmntRef, $PackageName, $line) = @_;
  if ($NodeOrEdgeMode == 0)
  {
	# color base nodes skyblue
	color_nodes ($BaseRef, $base_color);
	# color nodes required by base
	color_nodes ($BaseReqsRef, $base_reqs_color);
	# color keypkg nodes
	color_nodes ($KeyPkgsRef, $key_color);
	# color nodes required by keypkgs
	color_nodes ($KeyPkgsReqsRef, $key_reqs_color);
  }
  else
  {
	# if it is not in our "universe", skip it
	return if (not exists($KeyPkgsPlusReqsRef->{$PackageName}) and
		       not exists($BasePlusReqsRef->{$PackageName}));

    (my $requires = $line) =~ s/^requires: //;
    my @rqts = split(/ /, $requires);
    foreach my $rqt (@rqts)
    {
      print $OFH "\t\"$PackageName\" -> \"$rqt\";\n";
    }
  }
}

sub color_nodes {
  my ($PkgsRef, $ColorName) = @_;
  print $OFH "\tnode [fillcolor=$ColorName];\n";
  foreach my $pkg (keys %{$PkgsRef})
  {
    print $OFH "\t\"$pkg\";\n";
  }
  print $OFH "\tnode [fillcolor=$key_reqs_color];\n";
}

sub generate_output {
  my ($BaseRef, $BasePlusReqsRef, $BaseReqsRef,
	  $KeyPkgsRef, $KeyPkgsPlusReqsRef, $KeyPkgsReqsRef,
	  $LinesRef) = @_;
  my $package_name = '';
  my $hasBaseRqmnt = 0;

  print $OFH "digraph cygwin_setup_ini {\n";
  print $OFH "\tnode [shape = ellipse, style=filled, fillcolor=$key_reqs_color];\n";
  $base_mode->(0,
               $BaseRef, $BasePlusReqsRef, $BaseReqsRef,
               $KeyPkgsRef, $KeyPkgsPlusReqsRef, $KeyPkgsReqsRef,
               \$hasBaseRqmnt, '', '');
  foreach my $line (@{$LinesRef})
  {
    $hasBaseRqmnt = 0;
    $line =~ s/\R//g;
    if ($line =~ /^@ /)
    {
      ($package_name = $line) =~ s/^@ //;
      $hasBaseRqmnt = 0;
    }
    elsif ($line =~ /^requires: /)
    {
      $base_mode->(1, # draw edges mode
                   $BaseRef, $BasePlusReqsRef, $BaseReqsRef,
                   $KeyPkgsRef, $KeyPkgsPlusReqsRef, $KeyPkgsReqsRef,
                   \$hasBaseRqmnt, $package_name, $line);
    }
  }
  print $OFH "}\n";
}

my @lines = <$IFH>;
close $IFH if (not $IFH == \*STDIN);


# first, determine the packages we're requesting in the
# graph.  If not specified in @ARGV, use all packages found
# in the setup.ini.
my %KeyPkgs = ();
my %KeyPkgsPlusReqs = ();
my %KeyPkgsReqs = ();
collect_key_pkgs (\%KeyPkgs, \@ARGV, \@lines);

# Now, collect (recursively) all the "requires" of these items
get_requires (\%KeyPkgsPlusReqs, \%KeyPkgsReqs, \%KeyPkgs, \@lines);

if ($opt_verbose)
{
  my $setsize = scalar keys %KeyPkgs;
  my @lbase = sort(keys(%KeyPkgs));
  print STDERR "KeyPkgs($setsize) = ",join(" ",@lbase),"\n";
  $setsize = scalar keys %KeyPkgsPlusReqs;
  @lbase = sort(keys(%KeyPkgsPlusReqs));
  print STDERR "KeyPkgsPlusReqs($setsize) = ",join(" ",@lbase),"\n";
  $setsize = scalar keys %KeyPkgsReqs;
  @lbase = sort(keys(%KeyPkgsReqs));
  print STDERR "KeyPkgsReqs($setsize) = ",join(" ",@lbase),"\n";
}

# then build database of Base elements
my %Base = ();
my %BasePlusReqs = ();
my %BaseReqs = ();
get_base (\%Base, \@lines);

# And collect (recursively) all the "requires" of Base.
get_requires (\%BasePlusReqs, \%BaseReqs, \%Base, \@lines);

if ($opt_verbose)
{
  my $setsize = scalar keys %Base;
  my @lbase = sort(keys(%Base));
  print STDERR "Base($setsize) = ",join(" ",@lbase),"\n";
  $setsize = scalar keys %BasePlusReqs;
  @lbase = sort(keys(%BasePlusReqs));
  print STDERR "BasePlusReqs($setsize) = ",join(" ",@lbase),"\n";
  $setsize = scalar keys %BaseReqs;
  @lbase = sort(keys(%BaseReqs));
  print STDERR "BaseReqs($setsize) = ",join(" ",@lbase),"\n";
}

generate_output (\%Base, \%BasePlusReqs, \%BaseReqs,
                 \%KeyPkgs, \%KeyPkgsPlusReqs, \%KeyPkgsReqs,
                 \@lines);
close $OFH if (not $OFH == \*STDOUT);

__END__

=head1 NAME

setup_ini_graph - Chart cygwin package dependencies

=head1 SYNOPSIS

setup_ini_graph [options] [packagename [packagename ...]]

 Options:
   --help|-?                brief help message
   --man                    full documentation
   --version                show version information
   --mode STRING            specify the output mode. Possible values:
                              strip-base-and-requirements <default>
                              strip-base-only
                              collapse-base-and-requirements
                              collapse-base-only
                              show-only-base-and-requirements
                              show-base-requirements-only
                              show-all
   --color STRING           set color of specified packages <lightblue>
   --color-req STRING       set color of package requirements <palegreen>
   --color-base STRING      set color of Base packages <plum>
   --color-base-req STRING  set color of Base requirements <pink>
   --input|-i FILE          specify input setup.ini file <STDIN>
   --output|-o FILE         specify output .dot file <STDOUT>
   --verbose                turn on debugging output

If packagenames are specified, then only the specified packages and
their dependencies are analyzed. If no packages are specified, then
all packages in the setup.ini are analyzed.

=head1 OPTIONS

=over 8

=item B<--help>

Print a brief help message and exits.

=item B<--man>

Prints the manual page and exits.

=item B<--version>

Prints version information and exits.

=item B<--mode STRING>

Specify the output mode. The STRING may be one of the following options:

=over

=item B<strip-base-and-requirements>

All packages in the Base category, and packages on which they depend,
are completely removed from the output. This is the default mode.

=item B<strip-base-only>

All packages in the Base category are completely removed from the output.

=item B<collapse-base-and-requirements>

All packages in the Base category, and packages on which they depend, are
replaced by a single node 'Base'.

=item B<collapse-base-only>

All packages in the Base category are replaced by a single node 'Base'.

=item B<show-only-base-and-requirements>

Ignore all packages that are not in the Base category, or are not required
by packages in the Base category.

=item B<show-base-requirements-only>

As above, but the packages which are members of the Base category are
replaced by a single node 'Base'.

=item B<show-all>

Chart the entire dependency tree.

=back

=item B<--color STRING>

Sets the color to be used for nodes that represent the
packages listed on the command line (or all packages
extracted from setup.ini that do not fall into one of
the other categories below).  May be an RGB color name
such as palegoldenrod, or an RGB triple of the form
#DA70D6. Note that in the latter case, the # must be
escaped as \#DA70D6 or '#DA70D6'.  The default value
is lightblue (#ADD8E6).

=item B<--color-req STRING>

Sets the color to be used for nodes that represent packages
that are required by the ones listed on the command line,
but which do not fall into one of the other categories below.
The default value is palegreen (#98FB98). See L<--color> for
more information.

=item B<--color-base STRING>

Sets the color to be used for nodes that represent packages
that are in the Base category. It is also used to color the
'Base' node in the collapse L<--mode> options. The default
value is plum (#DDA0DD). See L<--color> for more information.

=item B<--color-base-req STRING>

Sets the color to be used for nodes that represent packages
which are required by packages in the Base category, but are
not in the Base category themselves. The default value is
pink (#FFC0CB).

=item B<--input FILENAME>

Use the specified input file. Defaults to <STDIN>.

=item B<--output FILENAME>

Use the specified output file. Defaults to <STDOUT>.

=item B<--verbose>

Turn on verbose output (to STDERR).

=back

=head1 DESCRIPTION

B<setup_ini_graph> will process a cygwin setup.ini file and generate a dependency
chart in dot format. Use C<dot -Tsvg output-dot-file E<gt> cygwin-deps.svg>
to process the result. See the C<dot> manpage for more information; note that
C<dot> is not available in stock cygwin, and must be installed from
L<cygwin-ports|http://sourceware.org/cygwinports/>.

=cut
# vim: set ff=unix ts=2 sw=2 et:


--------------010007090107020406040901
Content-Type: text/plain; charset=us-ascii

--
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
--------------010007090107020406040901--

- Raw text -


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