ln -s exe magic (coreutils 6.7-2)

Eric Blake ebb9@byu.net
Tue Apr 17 23:05:00 GMT 2007

DePriest, Jason R. <jrdepriest <at> gmail.com> writes:

> Will your proposed changes in coreutils fix the following problem I
> just discovered today?

This is the exact same problem documented earlier in this thread, and yes, 
coreutils-6.9-1 will fix it (I'm getting closer; I've finally completed my 
testing of my ln enhancements, but still need to test my postinstall script).

> Create a symbolic link
> ln -s /usr/bin/foo /foo
> where /usr/bin/foo is really usr/bin/foo.exe
> ls -l /foo
> returns
> foo -> /usr/bin/foo.exe

Try ls -l --append-exe /foo, to see the truth - rather than creating "/foo", 
the broken .exe magic in ln 6.7 created "/foo.exe", but then the auto-exe magic 
in other commands (such as ls) means that 'ls foo' succeeds even if it had to 
do 'ls foo.exe' under the hood.

> rm /foo
> fails with
> No such file or directory

rm intentionally doesn't do .exe magic.  Last time I tried to do that, it broke 

> So I was baffled that the .exe was required since at no point in my
> link creating process did I reference a .exe on the end of the files.

Which is why I'm changing 6.9 to not stick implicit .exe on the end of symlinks.

Eric Blake
volunteer cygwin coreutils maintainer

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