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 Date: Fri, 21 Jan 2005 11:07:28 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: How do I get an old version of cygwin? Message-ID: <20050121160728.GA20063@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com References: <41EC4604 DOT 5010908 AT singlestep DOT com> <1106037711 DOT 7522 DOT 26 DOT camel AT localhost> <20050118145111 DOT GA27316 AT trixie DOT casa DOT cgf DOT cx> <1106149817 DOT 7522 DOT 41 DOT camel AT localhost> <20050119180645 DOT GA2624 AT efn DOT org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050119180645.GA2624@efn.org> User-Agent: Mutt/1.4.1i Note-from-DJ: This may be spam [I held off sending this for a few days because I thought the thread would die down but then I thought that some of the content might be useful, so here it is] On Wed, Jan 19, 2005 at 10:06:46AM -0800, Yitzchak Scott-Thoennes wrote: >Gets kind of old to hear this "debated" over and over again when it's >clear that the developers are not interested in the work involved. cygwin-licensing was designed to discuss valid concerns. I don't remember a case of someone looking at the cygwin code and saying "I have looked at all of the places where there are potential conflicts between different versions of cygwin and here is how I would handle them." For future mailing list spelunkers -- you don't win points by: - making suggestions without investigating how things are done now and assuming that the developers probably missed simple things - asking for increasingly detailed explanations about the problems so that you don't have to actually look at the source - implying that it's something that is simple to do but the developers are just mean, - asserting that vendors absolutely need this functionality so that they can all put as many versions of cygwin1.dll on a system as necessary without worrying about other installations I don't know if anyone remembers but many years ago, when there was a new cygwin release, you'd have to rebuild things because the name of the DLL changed every time. That ensured that multiple versions of cygwin could exist on the same system. It also ensured that programs compiled with different versions would not understand each other's ttys and might not be able to pass command line arguments to each other and that /foo meant different things to different programs running on the same computer. There was also a splinter project formed which had, as it's goal, allowing multiple versions of a cygwin-like dll to co-exist. Look for it on sourceforge. I don't think it's very active these days. The problem here is that I can't think of any way of reliably dealing with this problem which would not force an unpleasant discipline on the cygwin developers, requiring them to always be sure not to break the "cygwin abi" which deals with the various ways that cygwin programs communicate with each other. In fact, I've made a couple of changes in the latest snapshots which would have taken a lot more time if I had had to make sure that cygwin 1.5.12 could cleanly interact with cygwin 1.5.13. You *can* do some things to the DLL, such as those which are used by the test suite which allow two versions to coexist without causing problems. However, the test suite is careful to put a barrier in the middle between processes which are being tested (thanks to DJ Delorie) so that there are no problems with command-line argument passing or with cygheap inheritance. So, this is not a general solution. If we were to implement some sort of "good enough" scheme, you can be sure that it would elevate the amount of tech support that we received here. However, anyone who really wants to do something similar to the test suite can use the same mechanism. Just don't send your problem reports here. If you want to use this mechanism, then you should be savvy enough to know how to deal with problems when they occur. If someone really does have a brilliant idea on how to deal with this problem, please demonstrate your brilliance with a patch. If there is an elegant solution to this problem then source code is the way to demonstrate it. cgf -- 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/