>On Tue, Feb 11, 2003 at 01:05:06PM -0000, Christopher January wrote: >> How can I automatically convert all symlinks on my Cygwin filesystem from >> the "!<symlink>" format to windows shortcuts? Samba doesn't seem to >> maintain the correct permissions for the Cygwin DLL to detect the >> "!<symlink>" files as symlinks, so they are treated as regular files >> (hence the errors with gcc, etc. I was seeing). Thanks Chris and others >> for pointing me in the right direction to diagnose this. I now need a way >> of converting all those symlink files to windows shortcuts so I can use >> Cygwin at college. >> Chris > >Write a script which reads the content of the symlink, then removes the >old one and eventually recreates it. The resulting symlink will have the >appropriate format according to the CYGWIN env. var. Sth like this > > for i in `find / -type l` > do > TARGET=`ls -l $i | awk '{print $NF;}'` > rm $i > ln -s $TARGET $i > done For the record, the script I used was: #!/usr/bin/env bash here=$PWD echo "here=$PWD" IFS=$'\n' grep -r -l '^\!<symlink>\(.*\)\x00' / | while read -r file; do dir="`dirname "$file"`" file="`basename "$file"`" cd $dir dest="`sed 's/\!<symlink>\(.*\)\x00/\1/g' "$file"`" rm $file ln -s $dest $file cd $here done
Now I can run gcc hopefully I can patch Cygwin to run at a tolerable speed on this setup! Chris
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/