[ANNOUNCEMENT] Updated: vim-7.0.122-1
Igor Peshansky
pechtcha@cs.nyu.edu
Fri Oct 13 02:12:00 GMT 2006
On Thu, 12 Oct 2006, John Morrison wrote:
> 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? ;)
Sure. But Corinna provided a much simpler solution (which works, at least
on my machine). Attached is the new version of the script.
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha@cs.nyu.edu | igor@watson.ibm.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"
-------------- next part --------------
#!/bin/sh
# base-files version 3.7-1
#--
# Create symbolic links from some /etc files to the Windows equivalents
#--
FILES="hosts protocols services networks"
OSNAME="`/bin/uname -s`"
WINHOME="`/bin/cygpath -m -W`"
CYGWIN="$CYGWIN check_case:relaxed"
export CYGWIN
case "$OSNAME" in
CYGWIN_NT*) WINETC="$WINHOME/system32/drivers/etc" ;;
CYGWIN_9*|CYGWIN_ME*) WINETC="$WINHOME" ;;
*)
echo "Unknown system type $OSNAME; exiting" >&2
exit 0
;;
esac
if [ ! -d "$WINETC" ]
then
echo "Directory $WINETC does not exist; exiting" >&2
echo "If directory name is garbage you need to update your cygwin package" >&2
exit 0
fi
for mketc in $FILES
do
if [ ! -e "/etc/$mketc" -a ! -L "/etc/$mketc" ]
then
# Windows only uses the first 8 characters
WFILE="$WINETC/`expr substr "$mketc" 1 8`"
/bin/ln -s -v "$WFILE" "/etc/$mketc"
fi
done
-------------- next part --------------
--
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/
More information about the Cygwin
mailing list