Am 30.06.22 um 16:13 schrieb Luca Boccassi:
On Thu, 30 Jun 2022 at 15:08, Michael Biebl <bi...@debian.org> wrote:

Am 30.06.22 um 14:26 schrieb Michael Biebl:
This might be a bug in i-s-h, but filing against systemd-homed for
now.

systemd-homed.service:
[Install]
WantedBy=multi-user.target
Alias=dbus-org.freedesktop.home1.service
Also=systemd-homed-activate.service systemd-userdbd.service

systemd-homed-activate.service:
[Install]
WantedBy=systemd-homed.service
Also=systemd-homed.service

→ we have a circular dependency here, maybe deb-systemd-helper get's
confused by that


I just checked that we can mitigate this issue by removing this circular
Also= dependency. It is indeed deb-systemd-helper getting confused by
that and as a result not writing proper state files to
/var/lib/systemd/deb-systemd-helper.
So the damage is already done during installation in postinst.
Thus raising to RC to warn users from installing systemd-homed atm.

I propose a patch like the attached one, i.e. dropping the Also= from
systemd-homed-active.service. WDYT?

Are you against shipping this patch for the time being until we have a proper fix?

I've also cloned the issue for i-s-h, as we might want to fix that
properly. My perl is a bit rusty, so would appreciate help with that.

@bluca: do you think the attached patch is suitable for upstream?

I find this circular Also= dependency kinda odd, I have to admit.

I don't think so, this seems clearly a bug in i-s-h. Ideally we should
really drop all of that and just use presets as RPMs do... but it's a
lot of work.

We have i-s-h/deb-systemd-helper for a couple of reasons (none of which can be solved by presets afaics)

- distinction between uninstalled/purged state in Debian.
We want to ensure that if you have a install/remove/install sequence, the enablement state of the service is preserved.
For that we need to keep additional state, that is only removed on purge.
If we remove the enablement symlinks on remove, we can't preserve the state.
If we remove the enablement symlinks on purge, the service files are no longer around, so we can't do a proper cleanup.

- masking a service upon uninstallation
This is a sad reality, as packages still ship legacy SysV init scripts which are conffiles and would suddenly become active if a package is removed but not purged.

I certainly would like to get rid of i-s-h, but I don't see how that is doable.

Regards,
Michael


Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to