Subject: Re: Inetutils and mount points
From: Chris Faylor <[email-masked]>
To: friedman_hill ernest j <[email-masked]>
Cc: Tony Arnold <[email-masked]>, [email-masked]
Date: Mon, 3 Jul 2000 14:20:40 -0400

On Mon, Jul 03, 2000 at 10:47:39AM -0700, friedman_hill ernest j wrote:
>I think Chris Faylor wrote:
>> >I had wondered about this myself. I like the links better because I
>> >want to have cygnus root at d:/ and I want d:/ mounted as /. Having
>> >cygnus root at some lower directory just makes things vaguely
>> >confusing, IMO.
>> 
>> So, feel free to use d:\ as your root.  No one is stopping you.  This
>> has no bearing on whether you symlink /usr/bin to /bin or use mount.
>
>But it -does- stop me; it stops me from using setup, anyway. Setup's
>built in tar doesn't try to figure out what's going on if it sees a
>symlink from bin to /usr/bin.  Instead it deletes the symlink and
>creates a /bin directory and puts things into it. It would be nice if
>Setup recognized the situation as acceptable and just put the files
>into /usr/bin.

>>>Anyway, I recently found out why it is done this way: it's because the
>>>setup program can't grok symlinks! When setup untars an installer
>>>tarball, it uses its own built-in untar routines which use Win32
>>>filesystem calls directly.  I'm not 100% sure why its this way, but I
>>>suppose it's so that setup can bootstrap a new installation without
>>>installing the DLL first.
>>
>>You're apparently looking at DJ's work in progress.  The setup.exe
>>program on sourceware does understand symlinks.
>
>Well, it might, but it still would clobber them and create mount points
>instead.  But yes, the source I was looking at was CVS top copy.
>
>>As to why they aren't used, please check the archives.  I never
>>anticipated being second-guessed so often on this decision.  It's
>>really incredible to see the number of times that this idea has been
>>raised and presented to me as if this was something I would not have
>>thought of.
>
>I've been following the list for a long time, and I've never seen a
>reall explanation about this;
>
>things want software in /bin, and some in /usr/bin; and endless
>recapilutaion of the fact that identity mounts are bad given the way
>Cygwin sets things up by default.

There is nothing wrong with identity mounts if you know what you're
doing.  The setup program suggests that it would be a good idea to
install everything in a "cygwin" directory so as not to clutter the root
of some drive with extra files.  Just close your eyes if you don't
like the warning and hit "y".

It is a good idea, in general, to isolate everything that is
cygwin-related into its own cygwin directory.  Setup.exe is less likely
to pollute existing x:\bin and x:\lib (which may contain non-cygwin
code) directories that way.

>I have neevr seen an explanation of why things aren't simply set up
>with x:/mounted as /, and x:/bin -> x:/usr/bin, and x:/lib ->
>x:/usr/lib.  This setup works absolutely perfectly once created, and it
>annoys me that setup won't respect it.

I've explained why we don't use symbolic links.  If you want to use
the root of a disk, feel free.

If you want to submit a patch to honor or create symbolic links, then
DJ may welcome it.  I don't know what he plans in this area.

>I'll gladly just fix my own copy of setup, and share it with
>interested parties on my own, but it seems like there are so many
>other people who would like setup to act this way that it should be at
>least a switched behaviour of the official tool.

See above.

>>The bottom line is that symlinks do not work on samba mounted
>>directories.
>
>This has nothing whatsoever to do with Samba; I'm talking about cygnus
>symlinks.

It is entirely possible that a user will install cygwin onto a samba
mounted directory.  You may not use samba or you may not install cygwin
onto a samba drive.  Other people do.

When we first contemplated the new directory structure on the
cygwin-developers mailing list, I really wanted to use symlinks.  I
tried to invent an alternate way of dealing with symlinks that would
work on a samba drive but I wasn't successful.  Eventually we came to
the conclusion that it wasn't feasible to use symlinks given the
possibility of installing on a samba drive.

We decided that it was best to consistently use a mounted directory
rather than a symlink.  This has the added benefit of being slightly
faster as well.  Mount points are faster to access than symlinks since
there is no disk activity involved in translating a mount point.

I suppose that we could have used symlinks in some cases and mount
points in others but we opted for consistency, at least in the
preliminary version of setup.exe.

cgf

--
Want to unsubscribe from this list?
Send a message to [email-masked]