[sorry for late reply on this]

Hi Martin, 
> 
> Martin Steigerwald  wrote:
> 
> > 2) Purging the package on a system with DBUS and SDDM is
> > problematic. It fails the purge cause it does not like to remove
> > DBUS and SDDM service directories while DBUS and SDDM are running.
> > Thus the purge operation fails. It asks to manually stop those
> > services. For SDDM this is easy. However DBUS just was started
> > again.

I tested this in Virtualbox with dbus + elogind + slim + openbox and
it's possible to stop services with sv like for example

# sv d dbus

and they are not restarted.
Anyway your report makes me think that the suggestion in the message is
wrong; one should not stop services, but disable (a disabled service is
stopped and can't be restarted) like with

# update-service --remove /stc/sv/dbus

> again. What I did was just removing those service directories from
> /etc/service myself using rm -r. By the way: Runit did not stop those
> sddm then, or well at least the Plasma desktop session was still
> running.

That should work, using rm has the same effect of 
update-service --remove
Are you sure that services with no symlinks in /etc/service/ were still
running under runit supervision?
Note that purge should work if they are restarted by some other means
and that plasma-desktop surviving somehow does not necessary imply that
those services were still running.

If you have still time to spend on this, it could be useful to test the
following procedure (to be added in the README) with sddm and
plasma-destop:

* remove the package
* purge the package --> it fails with the message
* log out from your graphic session
* login into a TTY
* update-service --remove /etc/sv/<service>  (for each relevant service,
  in your case would be sddm, elogind, dbus)
* try to purge again --> should work now


My proposal to "fix" this is:

* change the message, suggesting to disable (not stop) the service
* also mention the update-service --remove command in the message
* list all service that must be disabled before failing to purge;
  currently it stops at the first, so several attempts to purge +
  disable may be necessary before it succeed
* a section in README that explain the procedure with an example

any other suggestion?

Best,
Lorenzo

Reply via email to