Mail Archives: cygwin/2006/10/12/09:41:59
On Thu, 12 Oct 2006, John Morrison wrote:
> On Thu, October 12, 2006 12:54 pm, Corinna Vinschen wrote:
> >
> > I think it is needed. At least the base-files-mketc.sh postinstall
> > script creates paths which point outside the Cygwin root, so it either
> > needs to reference cygdrive paths, or use DOS paths. Using cygdrives
> > paths is preferable, IMHO. Since the cygdrive path is not fixed, and
> > can even differ between different users on the same machine, there must
> > be a fixed method to reference these paths.
> >
> > Personally I'd rather not further clutter the root directory, which is
> > why /proc seems to me to be a better place to point to the cygdrive
> > paths in a constant fashion. But that is only a mild opposition. I'd
> > also go along with /cygdrive.
>
> I've changed the script (which I didn't write!) to use cygpath --sysdir
> which outputs cygdrive paths. I should be able to get a new release out
> by the weekend, but I'll hold off until this discussion is decided.
> Personally I don't mind either an always existing /cygdrive or something
> in /proc. Only thing that would ask is; what would cygpath output?
John,
I wrote the script originally, and the initial version did use POSIX
paths. I've just re-read the early discussions, and found this:
<http://cygwin.com/ml/cygwin-apps/2003-02/msg00033.html>.
I think the issue is still valid -- if the installing user has the
user-level cygdrive prefix set, "cygpath --sysdir" will output something
that won't work for other users on the machine, and the links will be
broken.
If we add a standard /cygdrive prefix, we'll also need to change cygpath
to force that standard prefix for out-of-tree paths (otherwise user and
system mounts take precedence). Something like "cygpath -S -s" (or
"cygpath --sysdir --standard")...
However, if we really want to make this more robust, we'd need something
like this:
SAVED_CYGDRIVE="`mount -m | grep '^mount -u -[bt] -\?-c'`"
mount -u -b -c '/cygdrive'
# Do the path manipulation here
umount -u -c
[ -n "$SAVED_CYGDRIVE" ] && eval "$SAVED_CYGDRIVE"
Opinions?
Igor
P.S. One annoying thing about /cygdrive is that tab-completion for it is
annoying OOTB, since there are also /cygwin.bat and /cygwin.ico. One
thing I normally do on all new installs is rename those two files to
/Cygwin.bat and /Cygwin.ico -- since bash uses case-sensitive completion
by default, this allows /c<Tab> to get to /cygdrive immediately. Can we,
perhaps, rename the .bat and the .ico files to start with a capital 'C' on
new installs? I'll send a patch to cygwin-apps.
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com
ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!)
|,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"
--
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/
- Raw text -