Subject: Re: 1.5.14-1 cygwin1.dll could not be found
From: Brian Dessent <[email-masked]>
To: [email-masked]
Date: Wed, 06 Apr 2005 17:04:30 -0700

"Buchbinder, Barry (NIH/NIAID)" wrote:

> Might it be simpler than a sort to implement, and work just as well, to have
> setup
>         download
>         run pre-uninstall scripts
>         uninstall
>         install
>         run post-install scripts
> one package at a time rather than
>         download all
>         run all pre-uninstall scripts
>         uninstall all
>         install all
>         run all post-install scripts

This wouldn't work so well if you were installing multiple dependent
packages.  For example, you select to install 'foo' which requires 'bar'
to operate, and neither package currently is installed.  In some cases
the 'foo' postinstall requires 'bar' to already be installed, else you
get missing DLL errors or other random breakage.  So if you were to do
it as above you'd still need to sort the packages in topological order
to ensure that you do them in the right order.

But it's worse than that, what if there is a cyclical depedency -- 'foo'
requires 'bar' which requires 'baz' which requires 'foo'.  There's no
way to handle that other than to install them all and then run all three
postinstalls.

The current method sidesteps all this complication, but it's not
perfect.  I think a good short term solution would be to special-case
'cygwin' to always be removed/installed first.  There are potentially
other packages that could fall into the same situation though, so that's
not perfect either.

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/