[maintainer] coreutils-9.0-1: "ln -fs" bug
Brian Inglis
Brian.Inglis@SystematicSW.ab.ca
Sun Feb 9 18:49:49 GMT 2025
On 2025-02-08 22:40, Marco Atzeri via Cygwin wrote:
> Noticed today, not sure it is new nor that is Cygwin specific.
>
> It can create unrequested circular links, to replicate:
>
> $ cd /tmp
> $ mkdir dirA
> $ mkdir dirB
> $ cd dirA
> $ ln -fs /tmp/dirB dirB
> $ ls -l
> total 0
> lrwxrwxrwx 1 marco marco 9 Feb 9 06:33 dirB -> /tmp/dirB
> $ cd dirB
> $ ls -l
> total 0
> lrwxrwxrwx 1 marco marco 7 Feb 9 06:25 dirB -> ../dirB
>
> I built nothing in dirB, but now there is inside a circular link to itself.
>
> It only happens with "ln -fs" not with "ln -s"
You are forcing the creation and are allowed to do shoot yourself; also a number
of bugs were introduced with coreutils 9 changing to use f...at() directory
relative functions, which messed up our patches and forced a reversion.
I have created many of these, so when creating symlinks with ln -s, I now try
not to use -f, and almost always try to use either -t --target-directory or -T
--no-target-directory to specify whether a symlink should added into the
directory, or a link to a file or directory should be created, or replaced with -f.
I am not seeing anything about this in coreutils issues or change logs;
if you can, would you mind checking with coreutils test 9.5;
I am working on 9.6 and will recheck there when usable.
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
-- Antoine de Saint-Exupéry
More information about the Cygwin
mailing list