This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Setup 2.774 texlive postinstall takes 10+ hours


On 11/11/2014 9:14 AM, Ken Brown wrote:
On 11/11/2014 6:53 AM, Corinna Vinschen wrote:
On Nov 10 22:33, Yaakov Selkowitz wrote:
On 2014-11-10 22:23, Yaakov Selkowitz wrote:
Dependency order of packages: libgcc1 base-cygwin cygwin dash tzcode
libstdc++6 terminfo sed gzip libpcre1 grep libreadline7 bash
libncursesw10
[snip]

Now that I think about it, regardless of libgcc1, that still doesn't
make
much sense.  sed, grep, and bash depend on libintl8, which depends on
libiconv2, and libreadline7 (which is required by bash) itself
depends on
libncursesw10, so that should be at least two places earlier.  All of
those
dependencies are listed in setup.hint (and hence setup.ini), so is there
something wrong with setup itself?

What about dependency loops?

AFAICS, coreutils depends on tzcode, tzcode depends on coreutils.  Both
depend on libgcc1.  This introduces a big problem in dependency
resolution because there's no unambiguous starting point.

What if we remove the coretuls dep from tzcode.

Or, actually, what if we make sure that Base packages only depend
on libs, but never on any other Base package?

Except that all Base packages (other than base-cygwin) should depend on
base-cygwin.  That will guarantee that base-cygwin precedes all other
Base packages in the dependency order.  And if we make _autorebase
depend on nothing, then we're guaranteed that it precedes anything that
depends on it.

Of course, this still doesn't solve the problem of making sure that the _autorebase postinstall script runs whenever the user installs a package containing DLLs. I wonder if we should reconsider Achim's proposal. If I understand correctly, it is something like this (oversimplified):

1. Change autorebase.bat to do an incremental rebase instead of trying to do a full rebase.

2. Arrange for autorebase.bat to never be marked as "done".

Achim, please correct me if my oversimplification distorts your suggestion too much.

Ken

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]