Subject: [bug#71739] [bug#69591] [PATCH] services: shepherd: Support “free-form” services.

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 24 Jun 2024 23:22:33 -0400

Hi Ludovic,

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

[...]

>> Hm, if free-form is expected to be a built-in procedure provided by
>> Shepherd, should we call it 'built-in' instead of 'free-form' ?
>
> I view it as something more generic: it’s typically, but not just, for
> when the service comes from a procedure defined in the Shepherd itself.
>
> Other use case is when as a service author you need more freedom that
> what you get with the ‘start’ and ‘stop’ fields, like:
>
>   (shepherd-service
>     ;; …
>     (free-from #~(let ((whatever (spawn-fiber …)))
>                    (service '(foo) #:start …))))
>
> It’s probably going to be a relatively marginal use case, but it’s good
> to have that extra level of flexibility.
>
> WDYT?

Thanks for the extra explanation and example.  The extra flexibility
sounds good to me!

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail>

-- 
Thanks,
Maxim