[HEADSUP] Let's start a Cygwin 1.7 release area
Charles Wilson
cygwin@cwilson.fastmail.fm
Wed Apr 2 23:01:00 GMT 2008
Corinna Vinschen wrote:
> I have applied a preliminary patch to Cygwin which allows to load the
> mount entries from /etc/fstab and /etc/fstab.<usersid>. 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.<usersid>, 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
More information about the Cygwin-developers
mailing list