Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 34 |
Nodes: | 6 (1 / 5) |
Uptime: | 79:14:33 |
Calls: | 333 |
Files: | 993 |
Messages: | 86,374 |
Posted today: | 1 |
Hi Sean,
On Thu, Mar 06, 2025 at 05:39:06PM +0800, Sean Whitton wrote:
Just to note that the most recent release of Policy sort-of defines ownership of this, though it is not as explicit as the TC decision:
Packages must not install files to paths whose first component is a
name directly under the file system root and which is a symbolic
link to a directory of the same name under "/usr". ... The
base-files package is an exception, for it installs aliasing
symbolic links from "/bin" to "/usr/bin", "/lib" to "/usr/lib", et
cetera.
Thanks for highlighting the additional context. A significant angle here
is what it means to "install". systemd does not presently install those symlinks at package installation time, so it may be argued that it does
in fact not violate the updated policy in this regard.
Even after the requested change has been effected, systemd will continue
to create the aliasing symlinks when missing. This kinda is intended as
a mechanism supporting hermetic-/usr. Longer term, it shall become
possible to install Debian in such a way that the entire installation
lives below /usr (though it will not be possible to upgrade such an installation due to the lack of /var/lib/dpkg in the initial
implementation). Then systemd may assemble a system from the
Discoverable Partitions Specification (https://uapi-group.org/specifications/specs/discoverable_partitions_specification/).
It may locate a /usr filesystem and an empty root partition and
initially populate the latter. That population step includes creating aliasing symlinks such as /bin -> usr/bin. You may argue that this constitutes an "installation" and thus violates policy.
Can you clarify how you understand policy here?
I read it as systemd is not performing an installation here and
therefore does not violate the present policy. If your reading is
different, we should likely clarify policy on this aspect.
Helmut
Are you saying that systemd creates the symlinks at runtime when it
finds them missing, rather that when the systemd package is installed?
To me, this is a clear violation of the policy quoted above. "...must
not install..." says nothing about when the installation happens.
Installing a symlink is distinct from installing a package. The act of creating the symlink is exactly "installing" it, whether it happens at package installation or later.