Subject: Re: bug#61483: [PATCH 0/5] Some basic Home Shepherd Services

From: Ludovic Courtès <[email-masked]>
Date: Thu, 16 Mar 2023 17:16:05 +0100

Hi again,

Jannneke Nieuwenhuizen <[email-masked]> skribis:

>>> In the meantime I realized I don’t have to push it on your behalf, so
>>> I’ll let you take care of it—sorry for the confusion!
>>
>> Thanks, pushed to master as
>>
>>     70056b1b2beebbc9f8ea2c34eacc57f379368ab3
>
> Well, it seems I added a dependency to the shepherd, module (shepherd
> support), for things like
>
>     %user-runtime-dir

I pushed a fix as be7e2bf7ebc10bb4e5808ddeabc4b914f575865f, tested with
‘guix home container’.

> I locally applied the attached patch to add Shepherd as an input (not
> sure if that would be OK), but now `make update-guix-package' fails:

Guix in general on the “host side” should not depend on the Shepherd,
there’s no reason to do so.

The solution for Home or System services is to depend on the Shepherd
but only in the run-time code stage.  This is what I did in
be7e2bf7ebc10bb4e5808ddeabc4b914f575865f: code that needs to refer to
‘%user-runtime-dir’ is staged such that it will look up that variable at
run time, when the user ‘shepherd’ process is started.

That’s really what we want here, because it also ensures that the code
sees the right value for ‘%user-runtime-dir’ (otherwise it would see the
configuration-time value, which could be different).

Apologies for overlooking that!

Ludo’.