[Pkg-systemd-maintainers] Bug#726027: Bug#726027: Required-Start: $remote_fs for rcS type services (early boot) can lead to dependency loops

Michael Stapelberg stapelberg at debian.org
Tue Oct 29 22:25:46 GMT 2013


control: tags -1 + help

Hi,

Michael Biebl <biebl at debian.org> writes:
> <mbiebl> so adding a hack to systemd to s/remote-fs.target/local-fs.target/ for early boot services
> <Mithrandir> given we require /usr to be available immediately post-initramfs, and sysvinit does approximately the same.
> <mbiebl> do you think this is a crazy idea?
> <Mithrandir> mbiebl: I'd be ok with it.
> <Mithrandir> I'm just a bit careful about munging deps like that and causing deliberate differences wrt sysvinit
I looked into this, but it’s not trivial unfortunately, because
systemd’s unit.h does not contain any functions to _remove_ a dependency
from a unit.

In order to replace the dependency on remote-fs.target with
local-fs.target, we first need to check whether the unit is an early
boot unit, which we can do using:

    if (s->sysv_runlevels && chars_intersect(RUNLEVELS_BOOT, s->sysv_runlevels)) {

However, then we need to properly (!) remove the dependency on
remote-fs.target and add one to local-fs.target.

Help (ideally in form of a patch) welcome.

-- 
Best regards,
Michael




More information about the Pkg-systemd-maintainers mailing list