delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/04/06/20:01:15

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <4254790E.42F0648F@dessent.net>
Date: Wed, 06 Apr 2005 17:04:30 -0700
From: Brian Dessent <brian AT dessent DOT net>
Organization: My own little world...
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: 1.5.14-1 cygwin1.dll could not be found
References: <F76C9B2DA2FC4C4CA0A18E288BBCBCF71026EF5E AT nihexchange24 DOT nih DOT gov>
X-IsSubscribed: yes
Reply-To: cygwin AT cygwin DOT com

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019