From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 129792 invoked by alias); 2 Oct 2017 13:25:31 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 129776 invoked by uid 89); 2 Oct 2017 13:25:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=upset, H*Ad:D*gmx.com, Hx-spam-relays-external:ESMTPA X-HELO: out1-smtp.messagingengine.com Received: from out1-smtp.messagingengine.com (HELO out1-smtp.messagingengine.com) (66.111.4.25) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 02 Oct 2017 13:25:26 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id A5759229FA; Mon, 2 Oct 2017 09:25:24 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute6.internal (MEProxy); Mon, 02 Oct 2017 09:25:24 -0400 X-ME-Sender: Received: from [192.168.1.102] (host86-151-121-210.range86-151.btcentralplus.com [86.151.121.210]) by mail.messagingengine.com (Postfix) with ESMTPA id 31DB3249FA; Mon, 2 Oct 2017 09:25:24 -0400 (EDT) From: Jon Turney Subject: Re: Dependency issues in setup.ini. To: The Cygwin Mailing List Cc: "Sam Edge (Cygwin)" References: <505405e4-5a2f-8d6b-f012-404bd7d69009@gmx.com> Message-ID: Date: Mon, 02 Oct 2017 13:25:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <505405e4-5a2f-8d6b-f012-404bd7d69009@gmx.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2017-10/txt/msg00018.txt.bz2 On 29/09/2017 21:16, Sam Edge (Cygwin) wrote: > Hi all. > > 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. > > 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! Cycles in the dependency graph are unfortunately a real thing (although all cycles which exist may not be correct or unavoidable) cygwin-debuginfo depending on itself is simply a bug in cygport [1], as it makes all debuginfo packages unconditionally depend on cygwin-debuginfo calm permits this as a historical exception, any other package with a self-dependency should be rejected. [1] https://github.com/cygwinports/cygport/commit/65cc501f3bea06bcd69326649646568fa5a94092 > 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'? Again, this is because of historical reasons. For reasons lost in the mists of time, packaging used to suppress any dependency on 'cygwin' from requires: in the setup.hint, and then upset would add it back for every single package in setup.ini. Nowadays, we treat the 'cygwin' dependency the same as any other (i.e. any package containing an exe or dll linked to the cygwin DLL should have a 'cygwin' dependency) I believe the maintainer of mintty is still using an old version of cygport, which has the historical behaviour, hence this dependency is missing. Practically, this shouldn't cause problems, as the cygwin package is in the base category, and so should always be present. > Is this a known issue or should I report in more detail? Specific problems should be reported to the cygwin-apps list. -- 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