Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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 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: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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/