Subject: [bug#77204] [PATCH 1/3] services: dnsmasq: Provide shepherd-provision and shepherd-requirement fields.

From: Alexey Abramov <[email-masked]>
Date: Sun, 23 Mar 2025 13:28:29 +0100

Hi, 
45mg <[email-masked]> writes:

> Hi,
>
> Alexey Abramov via Guix-patches via <[email-masked]> writes:
>
>> * gnu/services/dns.scm (<dnsmasq-configuration>)[provision]: Rename the field to
>> [shepherd-provision] for consistency with other services.
>
> If this is accepted, you'll probably need to add an entry to
> etc/news.scm, since it's a breaking change.
>
> You'll also need to update the Guix Cookbook. Specifically, the recent
> commit da090138028894c6b00c21730aa3a02cda57fb24 uses the existing
> 'provision' field of `dnsmasq-service-type` in an example.

Thanks for letting me know.

> With that said, I think the rename is a sensible change. (Just in case
> it matters, I was the one who introduced the 'provision' field, as well
> as that Cookbook example).

I see. I guess there are not that many users who overrides provision for
dnsmasq at the moment. AFAIK we do want shepherd-provision and
shepherd-requirement insead of just provision/requirement. I have this
script (see attachements)

and run it withing the repo as

./pre-inst-env guix repl guix-services-info.scm

--8<---------------cut here---------------start------------->8---
(<log-rotation-configuration> (provision requirement))
(<mympd-configuration> (shepherd-requirement))
(<mpd-configuration> (shepherd-requirement))
(<restic-backup-job> (requirement))
(<agetty-configuration> (shepherd-requirement))
(<mingetty-configuration> (shepherd-requirement))
(<static-networking> (provision requirement))
(<dnsmasq-configuration> (provision))
(<oci-container-configuration> (provision requirement))
(<live-service> (provision requirement))
(<opensmtpd-configuration> (shepherd-requirement))
(<connman-configuration> (shepherd-requirement))
(<network-manager-configuration> (shepherd-requirement))
(<wpa-supplicant-configuration> (requirement))
(<dhcp-client-configuration> (shepherd-requirement shepherd-provision))
(<system-log-configuration> (provision requirement))
(<shepherd-service> (provision requirement))
(<shepherd-configuration> (shepherd))
(<wireguard-configuration> (shepherd-requirement))
(<nginx-configuration> (shepherd-requirement))
(<slim-configuration> (shepherd))
--8<---------------cut here---------------end--------------->8---

I will add the change for the cookbook no problem. Regarding the news, I
am not sure if I can do this, because it requires 'commit'. 

-- 
Alexey