On Thu, October 12, 2006 2:41 pm, Igor Peshansky wrote: > 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 thought you did and was suprised to find it not using POSIX paths but assumed that there was a reason... > I've just re-read the early discussions, and found this: > > <http://cygwin.com/ml/cygwin-apps/2003-02/msg00033.html>. and there it is. > 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? Can you write the new version and I'll just package it? ;) > 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. or put them somewhere else... /etc/setup/Cygwin.bat /etc/setup/Cygwin.ico? I believe that there's nothing in the bat file which precludes this and it would hide them away nicely. J. -- 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/