delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2017/09/30/06:57:32

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:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; q=dns; s=default; b=lSj9ivkii336izyv
qQzrTnoE21EqNmu8qd+7sPB+UPMXJRxFq/ui3XZZwCPZMRU9vFhAnRCTLcAELPXJ
vamClJJ6h+CmYRynNA4lmMmDVCX5gTQyzo81fJzr+oTPHaVdTuNzLYV7fgpVWs5l
DmRpaTudnchu+5zpEq3JFswMElw=
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:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; s=default; bh=3yJ0Tkaql5IvfvlAqVBzgE
Zg8gA=; b=pi0yhKQZ2xAUAt3tJVHseFrI+Oy9SXugoHOG95FN6IyN0560SvGycc
9sLo5uW9dvGB4ElYI0esfJTJmXWpYm/sqAXbn9SfuHoprhe7JhoOuUuxs+laiuuw
QB+qhIwvPunBEf188tulfQA/CThYJnuvRWuworkcsP5AhSvx11jnM=
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=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=esteemed, andrey, Andrey, naive
X-HELO: mout.gmx.net
Subject: Re: Dependency issues in setup.ini.
To: cygwin AT cygwin DOT com
References: <505405e4-5a2f-8d6b-f012-404bd7d69009 AT gmx DOT com> <216159991 DOT 20170930120008 AT yandex DOT ru>
From: Sam Edge <sam DOT edge AT gmx DOT com>
Message-ID: <171d601b-59c2-f186-5213-12c6b6f493cd@gmx.com>
Date: Sat, 30 Sep 2017 11:57:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0
MIME-Version: 1.0
In-Reply-To: <216159991.20170930120008@yandex.ru>
X-UI-Out-Filterresults: notjunk:1;V01:K0:EoUhD7BsJAY=:hecwB++4cQGXLWz3zh5LAd KG4j94XUrmfTNS5xlS/iV1JOwLFFE6IEdnOZauARzeD2Nagu2lyTXcqFUhQ+5igP2R0zcBsrz OLlgYhfnujI1kZI2ULZY1xh894wEbOvgjcn4J6O9bRvUbaCx/Kny6yjwlKvuQfN6nYqk4la+V iNCVj3+fn9g1NYH6NCxB2c7VXs/YCTJHR+GCCpxjy03UFob4/q2p+29A093Djg0A0Bd+l1xP5 6mfKERBbyyxu4x63dAMdiRMzQoBC+qrtD7kyGsfHSgT4TUWX8MYaSRwGstFwFAarxrA9wzwzB 32mkL7FUMASz8nE42eMTXv43uywnVQumS3xtzSFo9wt0fQd8jOofrgEQZgGJBQOYgOcw7364c imPgPRhX4JUlyh0XmO1QfSisD28pXJau2/9sQu7J0BoDdR8++30whMoCU1anRsM/7QFxop1Zg TS88+vnZlfQiS2sKn115ihUfh8uKZya0lCk7Q3QaJ5A+ldl5aYK2/t5tRrDBUNBhT5jDkMG8u xe7MA9lsWXXRoYiKkG+xb6HJH3A+Lj7lu/PwrmL4YqdGVNsHulFp38huv+fB1Sqr+3lB/u5ka Iu02SssXjnUcRVO/8g9oaULfPqT4lB10QzEoCyoqYTZGkUZnzsUHTTA1uHuLi2UvxQX8wxXbR fDDBrGiYiVGPcWio6Grr8lADtF/gsugMPSPK3AOBdQT6/ca3EQjEEaCxx8Mp26EwZ5OPsKxf4 eCOwFvquyrQRuCmzRsiEKzevS1SRgUXpCdtegPdf6Vk3PO5CaZNUPydDdPA/sCBLa85LGokgJ dM5JPQDw2pyAYGXBD2cOH1lrQNhH917B6/3I0nxEnV6sY3CEXw=
X-IsSubscribed: yes

Hi Andrey.

Nice to be back in a thread with such esteemed folk. ;-)

On 30/09/2017 10:00, Andrey Repin wrote:
> Greetings, Sam Edge (Cygwin)!
>
>> I've been developing a Python package that can interrogate and
>> manipulate local package caches (the directories where setupXXX.exe
>> keeps its downloads) and installation databases (from Cygwin
>> /etc/setup/installed.db files) with a mind to pruning, merging and
>> reporting in the spiript of Michael A. Chase's 'clean_setup' utility but
>> as a scriptable tool set rather than a stand-alone utility.
> I'm eager to see the fruits of your labor.

Don't hold your breath! :-) I'm doing it partly to teach myself the
subtleties of Python classes and I've not yet got to the process of
turning it into an installable import module. Also, its re-based parser
is still a bit naive. It works okay with the current setup.ini but it
has vulnerabilities I'd like to eliminate.(Hopefully I'll have something
I won't be embarrassed to share before Yuletide.)

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

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

>> Is this a known issue or should I report in more detail?
> Nonetheless, such issues are best kept highlighted, unless it is clearly
> seen/documented as intended.
>

Will try to collate a list as soon as I have a free (as in not too
bushed) weekday evening.


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