Hefee:
Package: debhelper
Version: 14.3
Severity: important
X-Debbugs-Cc: [email protected]
Control: affects -1 plasma-workspace
Control: block 1142512 by -1
Hey,
Hi,
This feature was implemented by Luca in
ea8e48c1bf82745c34e765d68b2bbc4e8f00970a (MR 57). Could you look at
this, Luca?
Best regards,
Niels
ISSUE
-----
We switched to Debhelper 14 we end up that plasma-workspace breaks for
several users (#1142512). The reason is that Debhleper 14 automatically
restarts user sservices. After investigating the issue we end up, that
it is a unhappy combination of dh_installsystemduser stanzas. And only
users running a X11 session while trigger the update are affected.
Three services have a [ install ] - section in their service file so
dh_installsystemduser enables those services. So far so good, that was
the default for Debhelper 13, too and never triggered an issue.
plasma-kcminit.service
plasma-ksmserver.service
plasma-plasmashell.service
With Debhelper 14 the automatic restart of all user services was added
(if they are running or enabled).
So because those three services are enabled in the first step, the
service restart behaviour now starts those services. In the end you get
a plasmashell on top of XFCE, not that expacted ;) Additionally for
users running a KDE Plasma on X11 will break their session. A restart on
wayland don't break anything, but never the less those three services
get started.
Maybe a unrelated issue I see is that the grep for a install section is too
simple to trigger enable of a service. At least plasma-kcminit.service
only has an alias in the install - section. From my understanding this
alias does not need any file or symlink to be created, to be useful, so
a enable stanza should not been added for this service.
THOUGHTS
---------
At least the start of unstarted services should not happen, if the target,
they are part of, is not started.
For me it looks unsafe to just restart any user service while upgrading
without asking the admin (who execute the upgrade).
At least on KDE Plasma uses a lot user services and restarting them may
break the Desktop, as seen here. Restarting gpg or wireplumber service
without consent is also not a good idea, as it breaks a working user.
Wouldn't be the proper solution in extending the "service restart dpkg
trigger" to care also about user services? This helper already knows
about outdated user services, that needs a restart.
Regards,
hefee
[...]