[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#51141: guix home reconfigure does not apply changes to shepherd serv
From: |
Oleg Pykhalov |
Subject: |
bug#51141: guix home reconfigure does not apply changes to shepherd services |
Date: |
Fri, 22 Oct 2021 02:32:51 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Andrew Tropin <andrew@trop.in> writes:
[…]
> According to what I see in the shepherd tests:
> https://git.savannah.gnu.org/cgit/shepherd.git/tree/tests/replacement.sh?h=4c5176f5a7a5a1e7d7f258f585e8ed127a21b99a#n61
>
> and how it's implemented in home-shepherd:
> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/home/services/shepherd.scm?h=7c3f28fdc4edc00f66801cd51a5ba08eee44f77f#n59
>
> It should work as you expect it.
It doesn't.
> Tried to do the following: I updated documentation field for a shepherd
> service, reconfigured and it got loaded after I restarted a service.
>
> ~ $ herd doc state
> Init, update and maybe destroy state.
> ~ $ herd restart state
> Service state has been stopped.
> Service state has been started.
> ~ $ herd doc state
> Really init, update and maybe destroy state.
>
> Didn't check if start action gexp is updated too, but I expect it was.
The start action is the interest, or configuration record, or service
extension.
(guix scripts system reconfigure) has a upgrade-shepherd-services
procedure, which was created in 240b57f0ca576708ebf6cfa0dfe2803fa9ff2323
and discussed in https://issues.guix.gnu.org/22039
[ The following text only describes how to reproduce the issue. ]
When I tried to write goimapnotify service no changes applied after
modifications in home-goimapnotify-shepherd-service [1] and [2], which
are typical service-type and record. I didn't have similar issues with
self-written system services.
[1]:
https://gitlab.com/wigust/dotfiles/-/blob/ea2111906233099267f3b581b4aae39ad9645c2d/dotfiles/guixsd/modules/home/services/mail.scm#L28-45
[2]:
https://gitlab.com/wigust/dotfiles/-/blob/ea2111906233099267f3b581b4aae39ad9645c2d/dotfiles/guixsd/home.scm#L40-65
Service extension also requires to unload service, e.g. mcron service
extension in [1] and [2].
[1]:
https://gitlab.com/wigust/dotfiles/-/blob/ea2111906233099267f3b581b4aae39ad9645c2d/dotfiles/guixsd/modules/home/services/package-management.scm#L16-50
[2]:
https://gitlab.com/wigust/dotfiles/-/blob/ea2111906233099267f3b581b4aae39ad9645c2d/dotfiles/guixsd/home.scm#L154-161
If I remove the guix-delete-generations service from home configuration,
mcron job still exists according to 'herd schedule mcron'.
--8<---------------cut here---------------start------------->8---
(home-environment
(services
(list (service guix-delete-generations-service-type ;; ...
))))
--8<---------------cut here---------------end--------------->8---
Oleg.
signature.asc
Description: PGP signature