From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14632 invoked by alias); 2 Apr 2008 23:01:26 -0000 Received: (qmail 14611 invoked by uid 22791); 2 Apr 2008 23:01:25 -0000 X-Spam-Check-By: sourceware.org Received: from out4.smtp.messagingengine.com (HELO out4.smtp.messagingengine.com) (66.111.4.28) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 02 Apr 2008 23:01:06 +0000 Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id 9AFECE4C80; Wed, 2 Apr 2008 19:01:03 -0400 (EDT) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute2.internal (MEProxy); Wed, 02 Apr 2008 19:01:03 -0400 Received: from [192.168.1.2] (user-0c6suln.cable.mindspring.com [24.110.122.183]) by mail.messagingengine.com (Postfix) with ESMTPSA id 2073624FF9; Wed, 2 Apr 2008 19:01:03 -0400 (EDT) Message-ID: <47F40F16.8080303@cwilson.fastmail.fm> Date: Wed, 02 Apr 2008 23:01:00 -0000 From: Charles Wilson User-Agent: Thunderbird 2.0.0.12 (Windows/20080213) MIME-Version: 1.0 To: Mailing List: CygWin-Apps , cygwin-developers@cygwin.com Subject: Re: [HEADSUP] Let's start a Cygwin 1.7 release area References: <20080402123551.GB4468@calimero.vinschen.de> <20080402174556.GI4468@calimero.vinschen.de> In-Reply-To: <20080402174556.GI4468@calimero.vinschen.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-apps-help@cygwin.com; run by ezmlm Precedence: bulk Sender: cygwin-apps-owner@cygwin.com List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps@cygwin.com X-SW-Source: 2008-04/txt/msg00033.txt.bz2 Corinna Vinschen wrote: > I have applied a preliminary patch to Cygwin which allows to load the > mount entries from /etc/fstab and /etc/fstab.. If none of > these files is available, the DLL falls back to reading the mount points > from the registry. I like this. A lot. > Cygwin finds the fstab files by fetching it's own Win32 path and then > replacing the last two path components with etc/fstab or > etc/fstab., like this: > > Get own path ==> C:\\cygwin\\bin\\cygwin1.dll > Where's fstab? ==> C:\\cygwin\\etc\\fstab So, it implicitly computes where / is? > The layout of the fstab file follows the Linux layout. As example, > these are my fstab files: > > $ cat /etc/fstab > C:\cygwin / ntfs binary 0 0 Which means that the line above really ought to match the computed '/', or bad things might happen, right? If so, then it is redundant to specify it here. Perhaps this should just be autocomputed...since the fstype and last two elements are ignored. But that still leaves the mount options. Urk. > C:\cygwin\bin /usr/bin ntfs binary 0 0 This is the typical loopback mount /usr/bin from /bin -- but a) we have already computed the DOS path of /bin -- that's how we figured out where / should be. b) We do not support any installation where /usr/bin is NOT a loopback on /bin. So...maybe this entry should be automatic, too? Except for the mount options. > C:\cygwin\lib /usr/lib ntfs binary 0 0 Finally, given all of the above...there's an obvious suggestion with respect to the /usr/lib loopback mount, as well. Except for the mount options. Maybe there should be "special" rules for the three special autocomputed mount points: # NOTE: the three "magic" auto-computed paths are present # in this file strictly so that mount options may be specified. C:\This\Path\Is\AutoComputed / ntfs binary 0 0 C:\This\Path\Is\AutoComputed /usr/bin ntfs binary 0 0 C:\This\Path\Is\AutoComputed /usr/lib ntfs binary 0 0 C:\cygwin\usr\X11R6\lib\X11\fonts /usr/X11R6/lib/X11/fonts ntfs binary 0 0 \\fs01\archiv /home/archiv smbfs binary 0 0 cygdrive /mnt auto binary 0 0 Oh, and I'm guessing that setup-1.7 should create /etc/fstab if "install for all users", and "/etc/fstab.SID" if "just me"? Otherwise, you'll clobber the "old" cygwin's registry entries every time you try to update your "new" cygwin installation... ===== One little wrinkle that makes switching between two cygwin installations difficult: services. Do you (1) stop/uninstall -- switch-to-other-cygwin -- reinstall/start as part of each switch, or (2) somehow change each service's target path (and PATH environment variable, if the service.exe is not in /bin. For the proposed 1.7.0 you have to ensure that the "correct" cygwin1.dll is used), and then restart? (3) install services under different names for the two installations, and just remember to stop all the old ones, before trying to use any tools from the "new" installation, and restart the "new" services under their alternate installation names? The installation part of this proposal could be automated in the foo-config scripts: if cygwin_17 then service_name=sshd_17 else service_name=sshd fi etc. I'm thinking specifically of the inetd/syslogd/sshd daemons, but also cygserver... -- Chuck