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 2014-11-04 02:59, Corinna Vinschen wrote:
On Nov  3 19:03, Achim Gratz wrote:
Dependencies are not evaluated at all when installing or running
scripts.

That's not correct.  From the dependencies, setup generates a dependency
graph which is used to get a sequential order in which to call
the scripts.  See /var/log/setup.log.full, it contains the dependency
order before starting the scripts.

Years ago we had some trouble to get the base-cygwin script running
first due to a couple of dependency loops.  And we have such loops
again, apparently.  My dependency list on 64 bit (not all packages
installed) now starts like this:

   libbz2_1 _autorebase cygwin zlib0 libpng15 ...

The worst thing AFAICS is that base-cygwin only comes after lots and
lots of other packages for some reason.

This needs some investigation.

There are two issues here:

1) upset was adding a requires: _autorebase to cygwin, which is incorrect because it requires dash and rebase, each of which (should) require cygwin (resulting in a dependency loop), not to mention that cygwin1.dll is never rebased.

2) Several libraries were missing requires: cygwin _autorebase, causing them to precede cygwin (and hence base-cygwin) in the dependency chain. I still have yet to understand why for some packages the autodep works and for others not. But by adding those requires to a downloaded setup.ini, resulting in the following:

Dependency order of packages: libgcc1 base-cygwin cygwin dash tzcode libstdc++6 terminfo sed gzip libpcre1 grep libreadline7 bash libncursesw10 info _update-info-dir libgmp10 libiconv2 libintl8 libattr1 coreutils rebase _autorebase ...

What libgcc1 is doing there first, I still don't know (it does have a requires: _autorebase cygwin).

The other thing I realized is that Ports packages are missing these autodeps; only by chance (and that many of them depend on other distro libraries) do they not seem to interfere with the dependency order.

The question is, can we just make the incver_ifdep code not dependent on autodep, then just have cygport add these dependencies to setup.hint and drop the apparently fragile autodep code from upset?


Yaakov


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