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 
libtool.

> 
> 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