Subject: Re: bug#27889: Polkit actions are not updated after guix system reconfigure

From: Ryan Moe <[email-masked]>
Date: Mon, 31 Jul 2017 16:10:25 -0700

On Mon, Jul 31, 2017 at 2:34 PM, Danny Milosavljevic
<[email-masked]> wrote:
> Oops!
>
> That's indeed still broken.
>
> But gnu/services/shepherd.scm shepherd-service-file could be extended to provide a "restart" action (shepherd itself already supports it).
>
> The general format for shepherd is:
>
> (register-services
>   (make <service>
>         #:provides '(apache-2.0 apache httpd)
>         #:requires '()
>         #:start (...)
>         #:stop (...)
>         #:actions (make-actions
>                    (restart (...)))))
>                     ^^^^^^^^^^^^^
>
> But the Guix <shepherd-service> record, which is the source that is eventually compiled to the above, neither has an "actions" slot nor a "restart" slot.  It would have to be extended with one.
>
> I wonder whether it would make sense to make shepherd automatically default to a SIGHUP restart action for daemonized processes instead, though.  It's not exactly rare for daemons to provide that.
>
> Also, does "guix system reconfigure" already call this restart action if it's present?

polkitd isn't managed by shepherd. It looks to be managed by dbus and
I'm not sure how to restart an individual dbus service (or if you even
can). Restarting dbus-system is obviously too intrusive (it does
reload the policy files at the expense of restarting my X session :)).