delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2017/09/30/07:35:27

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:date:from:reply-to:message-id:to:subject
:in-reply-to:references:mime-version:content-type
:content-transfer-encoding; q=dns; s=default; b=o0IVCG9abX5Rlcvv
P92AGVeM1crIVZlvPaVCR0JQe157ZhgMopphOQhVofzG13dIQC9pw/W8EfZQp5wr
sfbLDRAj4WivtSPm27zGGW1n5+HgaLzE+KDxOMpWIjs5DpdgIDN+CBm08fGb2mzG
s2A5EGKXFHdA6/d6+Ppw71zA434=
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:date:from:reply-to:message-id:to:subject
:in-reply-to:references:mime-version:content-type
:content-transfer-encoding; s=default; bh=gRDO/OFlIrLM01/efN4bwt
LOp9I=; b=AYKC2ivCgXEBfeQHMd7pxhqMyuCfKyKYWVBIFG5K7ynd/dmE4mFuxu
dunBpYPgiOli6S78+iGn/rZ7XtOdfkTj6S7bsWLHS82DBMX/nyW4REUrHqCf3+6Q
UhUjHwb2xY4mouIPIrC7HYZM2vlKMQISgCpXF0N4VpfL4EleUJ5RY=
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.0 required=5.0 tests=BAYES_00,FREEMAIL_FROM,KAM_THEBAT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 spammy=terrible, HX-Priority:Normal, H*F:D*yandex.ru, H*M:yandex
X-HELO: forward105j.mail.yandex.net
Authentication-Results: smtp1p.mail.yandex.net; dkim=pass header.i=@yandex.ru
Date: Sat, 30 Sep 2017 14:23:14 +0300
From: Andrey Repin <anrdaemon AT yandex DOT ru>
Reply-To: cygwin AT cygwin DOT com
Message-ID: <19010162357.20170930142314@yandex.ru>
To: Sam Edge <sam DOT edge AT gmx DOT com>, cygwin AT cygwin DOT com
Subject: Re: Dependency issues in setup.ini.
In-Reply-To: <171d601b-59c2-f186-5213-12c6b6f493cd@gmx.com>
References: <505405e4-5a2f-8d6b-f012-404bd7d69009 AT gmx DOT com> <216159991 DOT 20170930120008 AT yandex DOT ru> <171d601b-59c2-f186-5213-12c6b6f493cd AT gmx DOT com>
MIME-Version: 1.0
X-IsSubscribed: yes

Greetings, Sam Edge!

>>> It's not production ready yet but it's already flagged up some issues.
>>> For example we have lots of dependency loops in the 'requires' fields in
>>> setup.ini - even to the point that some packages depend upon themselves!
>> Dependency upon itself is curious, but other than that, this is a normal
>> situation for a package manager. Some packages are split for easier
>> maintenance of each, but are interlocked in their typical usage pattern.

> Ah, okay. Fair enough. It can be difficult to keep things layered purely
> up & down I know.

More than that, naive assumption of no circular dependency is the most common
cause for infinite recursions.

> Although often it can be resolved by introducing a
> third module that acts as the muxer between the other two to avoid cross
> API dependencies. But that's a discussion for another mailing list.

> But I'm also seeing loops deeper that X->Y->X. More like X->Y->Z->W->X.

A list indexed by package name is necessary when you resolve package
dependencies. Then you always know when to avoid dependency rescans.

> (The self-dependency is cygwin-debuginfo by the way.)

:)

>>> And also we have some dependency omissions. For example, mintty doesn't
>>> depend upon anything - it has no requires field. Surely, every binary
>>> package should depend at least upon 'cygwin'?
>> While this is "not good", this is also not particularly bad for packages in
>> base - this group is always installed.

> Indeed. However, while off label usage of Cygwin is anathema to me but
> sometimes I wish 'base' wasn't quite so big and have to pare things down
> a little once installed, e.g. as part of a makefile- and/or
> Eclipse-based build tree in source code control.(Which was also one of
> my motivations for the Python stuff.)

Rational suggestions are always welcome, I suppose.
While my own usage of Cygwin is prone to spread thin across all aspects of my
daily work, I can see situations, where a much smaller subset of packages
(let's name it "core" or something) would be beneficial. I.e. when packaging
Cygwin as part of your own application.


-- 
With best regards,
Andrey Repin
Saturday, September 30, 2017 14:16:20

Sorry for my terrible english...


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

- Raw text -


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