X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Sun, 10 Jan 2010 18:00:49 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: Update problems Message-ID: <20100110230049.GA25743@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <4B46A4C3 DOT 2000803 AT cygwin DOT com> <4B47986F DOT 2020609 AT t-online DOT de> <4B47B3FA DOT 1010101 AT cygwin DOT com> <4B47DBAE DOT 5000901 AT monai DOT ca> <20100109100941 DOT GL23992 AT calimero DOT vinschen DOT de> <4B4A1032 DOT 9030201 AT monai DOT ca> <20100110192728 DOT GC24855 AT ednor DOT casa DOT cgf DOT cx> <4B4A3918 DOT 4020005 AT byu DOT net> <4B4A4682 DOT 9040002 AT monai DOT ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4B4A4682.9040002@monai.ca> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Sun, Jan 10, 2010 at 01:28:34PM -0800, Steven Monai wrote: >On 2010/01/10 12:31 PM, Eric Blake wrote: >> According to Christopher Faylor on 1/10/2010 12:27 PM: >>> No one thinks its a good idea. >> >> And here's one reason why. Newer versions of cygwin1.dll introduce new >> entry points. But suppose you are updating cygwin1.dll and bash at the >> same time. If the new bash depends on one of those new entry points, but >> the old cygwin1.dll is still in operation, then the replace-on-reboot >> won't save the fact that the new bash won't work until the reboot. > >Okay, that is definitely a problem with my scenario. We don't want to >force an otherwise needless reboot every time cygwin1.dll is updated. > >But what you describe is also a problem for setup.exe right now. To >reuse your example, if I run setup.exe to upgrade bash but I don't >upgrade cygwin1.dll at the same time (for whatever reason), then the new >bash won't work. More generally, if I upgrade package 'foo' but not >package 'bar'---and 'foo' uses new features of the new 'bar'---then >'foo' will not work. Yes, if you do something brain-dead you can expect bad results. That is different from doing a normal install, expecting things to work and being bitten by a non-updated cygwin DLL. >Other package management systems deal with this problem by including >versioning in the package dependency specification. Thus one could, for >example, specify that 'foo' version 1.1 depends on 'bar' version >= 2.4. >So if I upgrade 'foo' to version 1.1, an upgrade to 'bar' is forced if >the currently installed 'bar' has version < 2.4. Now you've offered YA observation which has been made before. And it's one that would fix your hypothetical situation and not really touch the original concern unless you want to hold off all updates until the next reboot. And, what have we bought by doing this? The ability to update Cygwin using Cygwin for people who don't like the GUI. So we'd be confusing one group of people to satisfy another group of people. >>Really, it is better to stop ALL things cygwin, do the upgrade, and not >>worry about those interactions. > >I would say it is certainly EASIER to do it that way, not necessarily >that it is better. Thank you for your time. It is better. In fact, it is even better to do it on UNIX when you're updating things insofar as you can. cgf -- 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