Hi,

As some may recall from a previous thread of mine, i turned on case-sensitivity in Windows + cygwin, as per:

http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensitive

I encountered two issues, for which i have provided the attached patches:

1. I found that there were no links to hosts, network, etc.. in /etc. Looking through the log files and the base-files-mketc.sh script that is meant to create them, I found that the reason that these were not created was related to case-sensitivity against the system32 directory. In Windows 7 and Vista at least, this directory name is capitalised to System32. This means that the directory existence test fails on case sensitivity. The attached patch corrects this.

2. I also found that the ssh-host-config script will have a non-fatal error when it tries to create a temporary mount to the drivers/etc subdirectory under System32 because of the same case-sensitivity issues. The attached patch also corrects this using the same utilisation of cygpath -S to get the System32 path.

Hope that helps,
Shaddy


diff -x '*~' -urN ./base-files-3.9-3.orig/base-files-mketc.sh 
./base-files-3.9-3/base-files-mketc.sh
--- ./base-files-3.9-3.orig/base-files-mketc.sh 2010-04-11 14:09:42.044274900 
+0000
+++ ./base-files-3.9-3/base-files-mketc.sh      2010-04-11 14:38:08.617885400 
+0000
@@ -9,8 +9,8 @@
 FILES="hosts protocols services networks"
 
 OSNAME="`/bin/uname -s`"
-WINHOME="`/bin/cygpath -w -W`"
-WINETC="$WINHOME\\system32\\drivers\\etc"
+WINSYS32HOME="`/bin/cygpath -S -w`"
+WINETC="$WINSYS32HOME\\drivers\\etc"
 
 if [ ! -d "$WINETC" ]
 then
diff -x '*~' -urN ./openssh-5.4p1-1.orig/ssh-host-config 
./openssh-5.4p1-1/ssh-host-config
--- ./openssh-5.4p1-1.orig/ssh-host-config      2010-04-11 13:47:56.576606400 
+0000
+++ ./openssh-5.4p1-1/ssh-host-config   2010-04-11 13:51:10.300686800 +0000
@@ -78,7 +78,7 @@
 
   if csih_is_nt
   then
-    _win_etcdir="${SYSTEMROOT}\\system32\\drivers\\etc"
+    _win_etcdir="$(cygpath -S -w)\\drivers\\etc"
     _services="${_my_etcdir}/services"
     # On NT, 27 spaces, no space after the hash
     _spaces="                           #"

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to