On 4/5/2011 12:50 PM, Arnaud Charlet wrote:
>> This:
>>      $(LN_S) $(fsrcpfx)ada/$(f) $(RTSDIR)
>> fits that non-portable pattern
> 
> That's wrong. The above is
> 
> $(LN_S) /full/path/to/a_file a_dir
> 
> which is quite different from
> 
> $(LN_S) a_file a_dir
> 
> and will work equally well with ln or ln -s or cp -p.

A-HA! That's what I was missing; $a_file was an absolute path.
But...that works on MSYS too, with LN_S equal to all of those possibilities:

$ echo "test data" > /tmp/foo
$ ls -li /tmp/foo
3625195 -rw-r--r-- 1 owner group 10 Apr  5 12:53 /tmp/foo

$ mkdir bar
$ ln -s /tmp/foo bar
$ ls -li bar
total 1
2969862 -rw-r--r-- 1 owner group 10 Apr  5 12:53 foo

(Note that foo is NOT actually a symlink here, because of MSys's fake
behavior. It's a copy)

$ rm -rf bar
$ mkdir bar
$ ln /tmp/foo bar
$ ls -li bar
3625195 -rw-r--r-- 2 owner group 10 Apr  5 12:53 bar

(Note: in this case it is actually a hardlink -- and the link count has
increased. MSys supports hardlinks on NTFS file systems, with all the
usual caveats -- same device, etc)

$ rm -rf bar
$ mkdir bar
$ cp -p /tmp/foo bar
$ ls -li bar
total 1
1397010 -rw-r--r-- 1 owner group 10 Apr  5 12:53 foo


So, we really really need more info from Kai about WHAT exactly is
failing here.


>> Ralf recommends that, for
>> portability, it should be changed to something like
> 
> And I recommend that we do nothing here because there's nothing broken.

Ack.

--
Chuck

Reply via email to