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