public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Charles Wilson <cygwin@cwilson.fastmail.fm>
To: Mailing List: CygWin-Apps <cygwin-apps@cygwin.com>
Subject: Re: New Setup for Cygwin 1.7 on cygwin.com
Date: Wed, 20 Aug 2008 16:18:00 -0000	[thread overview]
Message-ID: <48AC43AA.2000208@cwilson.fastmail.fm> (raw)
In-Reply-To: <20080820152546.GR29104@calimero.vinschen.de>

Corinna Vinschen wrote:

>> I thought the whole point was to install cygwin first.  How can you run base
>> packages first in a new install when there is no cygwin1.dll?
> 
> The installation order doesn't matter.  Only the order in which scripts
> run matters.  And I don't see another way how to make sure that the
> base-* scripts always run first.

Well, what we have is a dependency-group.  You want cygwin, base-*
installed at the same time. Then you want the base-* postinstall scripts
to run.

Maybe a meta-package?

cygwin : no dependencies
base-* : depends on cygwin
cygwin-meta : depends on cygwin, base-*

everything else, that currently depends on cygwin, depends instead on
cygwin-meta.

====> revision for less ripple:

what we now call the 'cygwin' package gets renamed to 'cygwin-core'
base-*: depend on cygwin-core
the new 'cygwin' package is now a meta-package with dependencies on
cygwin-core and base-*.

everything else continues to depend on cygwin, as before.

The drawback to this plan is:
    cygcheck -cd cygwin
will report the version number of the meta-package, which will probably
be 1.0, and will hardly ever change.




This doesn't solve the loop back to cygwin/bash with base-*:

   base-passwd, setup.hint:
      requries: cygwin bash
      NOTE: uses coreutils (cp, rm, chmod) and sed, but
            does not include them in its requires:.

   base-files, setup.hint
      requries:  cygwin bash findutils sed
      NOTE: uses coreutils, diffutils (uname, [, ln,
                 /bin/echo, /bin/touch,
                 /bin/cp, /bin/cmp, /bin/rm ) but does
                 not include them in its requires:.
      FWIW, does NOT seem to use sed or findutils!

   bash: requires cygwin libintl8 libreadline6
   libintl8: requires cygwin libiconv2
   libreadline6: requires cygwin libncurses8
   libiconv2: requries cygwin
   libncurses8: requires cygwin terminfo
   terminfo: requires bash coreutils
      NOTE: the only reason this pulls in coreutils is because the
      postinstall script does this:
	(cd ${libdir};
	  rm -f terminfo  ; ln -fs ../share/terminfo terminfo ;
	)
      which (a) I need to change to make an absolute link, instead
      of a relative one, and (b) is it really necessary?  Must
      we have a /usr/lib/terminfo/ path?

   <--- HERE --->

   coreutils: requires bash crypt cygwin libiconv2 libintl8 tzcode
   crypt: cygwin
   tzcode: cygwin bash gawk
   gawk: bash cygwin libintl8

   findutils: requires: bash coreutils cygwin libintl8
   sed: requires: bash cygwin libintl3 libiconv2
   libintl3: requires: cygwin libiconv2

   diffutils: requires: bash cygwin libintl2 libiconv2
   libintl2: requires: cygwin libiconv2

But I think it would solve the script execution order issue.  Also, if we
  (a) removed terminfo's postinstall script and coreutils dependency
  (b) removed the useless findutils and sed dependnecy of base-files
then the dependency chain of (base-* + cygwin-core == new cygwin meta
package) would stop at HERE.  This scheme would then rely on the Base
category to ensure that coreutils, findutils, diffutils, sed, and all
their dependencies are all properly installed, which should be safe enough.

Better, in the group above HERE, the following are true;
  (a) DLL packages don't typically have postinstall scripts
  (b) terminfo won't have a postinstall script [1]
  (c) leaving only bash, and base-* postinstall
      (1) but since bash dep on cygwin (meta), which would dep on
          cygwin-core (no postinstall), and base-*, but base-*
          dep on bash...
still leaves a cycle.

Hmm...what if we deliberatly drop the bash dependency from base-*,
relying on the Base category to ensure it gets installed? Then, there
are no loops at all (in the cygwin meta group):

  base-passwd --> cygwin-core <-- base-files
             ^         ^          ^
              \        |         /
               \       |        /
                -----cygwin-----
                       ^
                       |
           bash, coreutils, etc...


--
Chuck

[1] alternatively, if we DO need a /usr/lib/terminfo symlink, then we
can keep the postinstall script but deliberately drop the dependency on
coreutils (relying on Base category). Then, we still guarantee base-*
scripts go first, because terminfo would depend on bash

  parent reply	other threads:[~2008-08-20 16:18 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-12 15:35 Setup for 1.7 must still handle 9x? Corinna Vinschen
2008-08-12 18:02 ` Corinna Vinschen
2008-08-12 20:26   ` Christopher Faylor
2008-08-12 20:41     ` Corinna Vinschen
2008-08-12 23:11       ` Ralph Hempel
2008-08-13  8:34         ` Corinna Vinschen
2008-08-13 10:20     ` New Setup for Cygwin 1.7 on cygwin.com Corinna Vinschen
2008-08-15  8:54       ` Dr. Volker Zell
2008-08-15 10:28         ` Corinna Vinschen
2008-08-15 11:21           ` Corinna Vinschen
2008-08-15 13:13             ` Corinna Vinschen
2008-08-15 13:17               ` Eric Blake
2008-08-15 13:28                 ` Corinna Vinschen
2008-08-15 13:38                   ` Corinna Vinschen
2008-08-15 13:46                   ` Brian Dessent
2008-08-15 14:00                     ` Corinna Vinschen
2008-08-15 14:16                       ` Brian Dessent
2008-08-15 14:22                         ` Corinna Vinschen
2008-08-15 14:04                     ` Dave Korn
2008-08-15 14:11                       ` Corinna Vinschen
2008-08-15 14:18                         ` Dave Korn
2008-08-16 12:26                         ` Dave Korn
2008-08-19 16:39                           ` Corinna Vinschen
2008-08-20  1:49                             ` Brian Dessent
2008-08-20  2:46                               ` Christopher Faylor
2008-08-20  7:56                                 ` Corinna Vinschen
2008-08-20 14:40                                   ` Christopher Faylor
2008-08-20 14:45                                     ` Corinna Vinschen
2008-08-20 15:17                                       ` Christopher Faylor
2008-08-20 15:24                                         ` Corinna Vinschen
2008-08-20 16:00                                           ` Christopher Faylor
2008-08-20 16:18                                           ` Charles Wilson [this message]
2008-08-20 16:34                                             ` Brian Dessent
2008-08-20 16:49                                               ` Charles Wilson
2008-08-20 17:47                                                 ` Corinna Vinschen
2008-08-21 10:09                                                   ` Corinna Vinschen
2008-08-21 11:09                                                     ` Charles Wilson
2008-08-21 11:19                                                       ` Corinna Vinschen
2008-08-21 15:02                                                     ` Christopher Faylor
2008-08-21 15:04                                                       ` Christopher Faylor
2008-08-21 15:13                                                         ` Charles Wilson
2008-08-21 15:19                                                           ` Corinna Vinschen
2008-08-21 15:27                                                             ` Corinna Vinschen
2008-08-22  1:43                                                               ` Eric Blake
2008-08-22  2:07                                                                 ` Christopher Faylor
2008-08-21 15:38                                                             ` Christopher Faylor
2008-08-21 15:57                                                               ` Corinna Vinschen
2008-08-21 16:45                                                                 ` Christopher Faylor
2008-08-22  1:37                                                     ` Brian Dessent
2008-08-22  7:44                                                       ` Corinna Vinschen
2008-08-22  7:55                                                         ` Brian Dessent
2008-08-22  8:23                                                           ` Corinna Vinschen
2008-08-22  8:59                                                             ` Brian Dessent
2008-08-22  9:08                                                               ` Corinna Vinschen
2008-08-25 10:24                                                                 ` Corinna Vinschen
2008-08-25 14:33                                                                   ` Christopher Faylor
2008-08-25 15:28                                                                     ` Christopher Faylor
2008-08-25 15:36                                                                       ` Corinna Vinschen
2008-08-25 15:58                                                                         ` Christopher Faylor
2008-08-25 16:14                                                                           ` Corinna Vinschen
2008-08-25 17:22                                                                             ` Christopher Faylor
2008-08-27 17:15                                                                               ` Corinna Vinschen
2008-08-27 18:36                                                                                 ` Christopher Faylor
2008-08-28  7:37                                                                                   ` Corinna Vinschen
2008-08-28 14:18                                                                                     ` Christopher Faylor
2008-08-28 15:01                                                                                       ` Christopher Faylor
2008-08-28 19:05                                                                                         ` Christopher Faylor
2008-08-29  8:34                                                                                           ` Corinna Vinschen
2008-08-27 19:08                                                                                 ` Ralph Hempel
2008-08-28  7:42                                                                                   ` Corinna Vinschen
2008-08-28 12:30                                                                                     ` Ralph Hempel
2008-08-26  8:18                                                                           ` Corinna Vinschen
2008-08-26 12:05                                                                             ` Charles Wilson
2008-08-26 12:13                                                                               ` Corinna Vinschen
2008-08-22 13:21                                                               ` Christopher Faylor
2008-08-20 16:36                                             ` Corinna Vinschen
2008-08-20 15:28                                         ` Brian Dessent
2008-08-20 16:03                                           ` Christopher Faylor
2008-08-15 14:01                 ` Corinna Vinschen
2008-08-15 10:15       ` Dr. Volker Zell
2008-08-15 10:33         ` Corinna Vinschen
2008-08-15 11:47       ` Dr. Volker Zell
2008-08-15 11:56         ` Corinna Vinschen
2008-08-15 12:39           ` Corinna Vinschen
2008-08-15 13:58           ` Dr. Volker Zell
2008-08-15 14:05             ` Corinna Vinschen
2008-08-15 19:24       ` Eric Blake
2008-08-15 19:34         ` Yaakov (Cygwin Ports)
2008-08-15 19:37         ` Christopher Faylor
2008-08-16 13:38           ` Dave Korn
2008-08-14  9:54 Corinna Vinschen
2008-08-15  5:14 ` Yaakov (Cygwin Ports)
2008-08-15 11:41   ` Corinna Vinschen
2008-08-15 11:59     ` Eric Blake
2008-08-15 12:13       ` Corinna Vinschen
2008-08-15 21:01 ` Charles Wilson
2008-08-15 23:28   ` Charles Wilson

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=48AC43AA.2000208@cwilson.fastmail.fm \
    --to=cygwin@cwilson.fastmail.fm \
    --cc=cygwin-apps@cygwin.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).