* Helmut Grohne <hel...@subdivi.de> [250307 07:05]:
> 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.

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.

...Marvin

> 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
> 

Reply via email to