[Bug 229208] `install -l rs` (relative symlink to source) into directory creates invalid symlink

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Jun 21 19:13:05 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229208

--- Comment #1 from Andreas Sommer <andreas.sommer87 at googlemail.com> ---
I was mistaken – the `makelink` function *is* called but has the following,
very explicit logic to handle this case

        if (*from_name != '/') {
                /* this is already a relative link */
                do_symlink(from_name, to_name, target_sb);
                /* XXX: from_name may point outside of destdir. */
                metadata_log(to_name, "link", NULL, from_name, NULL, 0);
                return;
        }

So it seems on purpose, but is still a breaking change from FreeBSD 10.x.
Please advise. The manpage has no hint about the exact behavior. It reads

    The file(s) are copied (or linked if the -l option is specified) to the
    target file or directory.  If the destination is a directory, then the file
    is copied into directory with its original filename.

which leaves it open for humans to interpret what happens.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list