Subject: bug#63869: closed (Re: bug#63869: [shepherd] `guix system reconfigure` forgets `herd disable mysrv`)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 14 Jun 2023 16:49:02 +0000

Your bug report

#63869: [shepherd] `guix system reconfigure` forgets `herd disable mysrv`

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
63869: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63869
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#63869: [shepherd] `guix system reconfigure` forgets `herd disable mysrv`
From: Ludovic Courtès <[email-masked]>
To: Maxim Cournoyer <[email-masked]>
Cc: Attila Lendvai <[email-masked]>, [email-masked]
Date: Wed, 14 Jun 2023 18:47:51 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Maxim & Attila,

Maxim Cournoyer <[email-masked]> skribis:

> Ludovic Courtès <[email-masked]> writes:

[...]

>>>> When a service is stopped at the time of reconfigure, it is immediately
>>>> replaced and then started.
>>>>
>>>> Replacing works by unregistering the old instance from the registry and
>>>> registering a new one.  As a side effect, you end up with an instance
>>>> that’s enabled (see ‘service-registry’ in (shepherd services)).
>>>>
>>>> I never thought it could be a problem.  WDYT?
>>>
>>> I think it probably goes against users' expectation (i.e., systemd) that
>>> a disabled service stays disabled unless manually re-enabled (I think
>>> that's the way it is for systemd, even when the system is upgraded?).
>>
>> Does systemd have a notion of enabled/disabled?
>
> Yes!  'systemctl disable <service>' [0].  It does stick around until the
> user changes it, I can confirm the behavior which I've recently seen on
> a Debian system upgrade (the service remained disabled and the updater
> warned it wouldn't be restarted because of that).
>
> [0]  https://www.freedesktop.org/software/systemd/man/systemctl.html#disable%20UNIT%E2%80%A6
>
>> I’m fine either way.  We can also change it such that replacing a
>> disabled service does not re-enable it; that’s probably more logical.
>
> I guess sticking to the established convention set by systemd would
> cause the least friction down the road.  If we agree on this, we should
> reopen this bug (and eventually fix it :-)).

Agreed, fixed in Shepherd commit
52db31e5b061440cd110da4848ab230ce09f365a.

Thanks!

Ludo’.

Subject: [shepherd] `guix system reconfigure` forgets `herd disable mysrv`
From: Attila Lendvai <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Sat, 03 Jun 2023 11:06:31 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

i turn off some services using `herd disable`. then i do a `guix system reconfigure`, and these services get enabled and started.

i would expect the enabled/disabled state to be preserved across reconfigures.

if it's not easily feasible in the current architecture, then feel free to close this. it's not a crucial feature.

-- 
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“Those who do not weep, do not see.”
	— Victor Hugo (1802–1885)