public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Jon Turney <jon.turney@dronecode.org.uk>
To: The Cygwin Mailing List <cygwin@cygwin.com>
Cc: "Sam Edge (Cygwin)" <sam.edge.cygwin@gmx.com>
Subject: Re: Dependency issues in setup.ini.
Date: Mon, 02 Oct 2017 13:25:00 -0000	[thread overview]
Message-ID: <a00349c8-50b4-a31c-a58b-c4a95a7e2c65@dronecode.org.uk> (raw)
In-Reply-To: <505405e4-5a2f-8d6b-f012-404bd7d69009@gmx.com>

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

      parent reply	other threads:[~2017-10-02 13:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-29 22:39 Sam Edge (Cygwin)
2017-09-29 23:54 ` Steven Penny
2017-09-30  8:43   ` Sam Edge (Cygwin)
2017-09-30  9:05   ` Marco Atzeri
2017-09-30  2:34 ` Doug Henderson
2017-09-30  7:57   ` Steven Penny
2017-09-30 10:57 ` Andrey Repin
2017-09-30 11:35   ` Sam Edge
2017-09-30 11:51     ` Andrey Repin
2017-09-30 13:28       ` Sam Edge
2017-10-02 13:25 ` Jon Turney [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a00349c8-50b4-a31c-a58b-c4a95a7e2c65@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=cygwin@cygwin.com \
    --cc=sam.edge.cygwin@gmx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).