Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jun 2018 19:13:02 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 229208] `install -l rs` (relative symlink to source) into directory creates invalid symlink
Message-ID:  <bug-229208-227-ZVHxZFMKiK@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-229208-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

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

--- Comment #1 from Andreas Sommer <andreas.sommer87@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.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-229208-227-ZVHxZFMKiK>