I was watching the discussion thread, but missed this thread
here. Sorry for the lack of replies. But fortunately people answered
most of the questions, so I'll just provide some clarifications.

On Mon, Jul 28, 2025 at 08:44:23AM -0400, Ben Beasley wrote:
> I agree that symlinks have a few advantages, including discoverability and
> in the fact that they can cross filesystems, but they do have the
> disadvantage that they are not symmetrical: you need to pick one location to
> remain a regular file and link the others to it, and in the general case it
> may not be obvious how to do that sensibly and consistently. A collection of
> hardlinks are all co-equal, with no need to choose a “canonical” path.

Exactly. Hardlinked files are almost always treated exactly the same
as non-hardlinked files, or more precisely, files with link count equal to 1.
The application would actually need to implement specific checks to make
the behaviour different.

OTOH, symlinks can create subtle differences in common operations.
Some applications attach special meaning to a file being a symlink
(e.g. systemd), or forbid symlinks in case the path is not expected to
by symlinked, etc. The meaning of an symlink also changes depending on
what is the root of the file system. If the file system is
bind-mounted to with some subdirectory as the root, all absolute
symlinks now point to a different location. But depending on
circumstances, relative symlinks can point to different files too.

So as Ben and others wrote, this proposal is abouting using hardlinks
_within_ packages. The intent is for the change to have no effect
on applications and to be mostly invisible to users.

> On 7/28/25 8:33 AM, Neal Gompa wrote:
> > The only real problem with hardlinks is that you can't partition them
> > out across volumes. And some filesystems aren't hardlink-safe.
> > 
> > I'm sure the proposers plan to ensure all the valid storage
> > configurations supported by Anaconda can handle this.
> > 
> > Personally, I would have used symlinks instead of hardlinks, since
> > they are more obvious and more compatible across different storage
> > configurations.

This proposal is about package contents under /usr. /usr is generally
a single partition on a "normal" filesystem. So cross-partition links
or non-hardlink-safe systems are not in scope. (But if somebody did
use some strange sutup, hardlinks would work fine, in the sense that
rpm would create normal non-linked files.)

Zbyszek
-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to