summaryrefslogtreecommitdiff
path: root/gnu/services
diff options
context:
space:
mode:
authorAlexey Abramov <levenson@mmer.org>2025-05-08 19:47:41 +0200
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-05-16 17:01:11 +0900
commit6d5f630fa55923f9c7d9725e47c1eb7a63c29f41 (patch)
treed502423d5c02c36a820e5d68988e7b1e5fc77ecc /gnu/services
parentefac01f19b65d7d77a98bbfd57fe2073fb13064a (diff)
services: dnsmasq: Add shepherd-provision and shepherd-requirement fields.
* gnu/services/dns.scm (<dnsmasq-configuration>)[provision]: Mark filed as deprecated with a warning. Set default to #f. [shepherd-provision]: Add new field for consistency with other services. [shepherd-requirement]: Add new field. (dnsmasq-shepherd-service): Use them. * doc/guix.texi: Document these changes. * doc/guix-cookbook.texi (Custom NAT-based network for libvirt): Update example to use 'shepherd-provision' instead of 'provision'. Change-Id: Icad4d9c4be5bf58368e8c416f1fdde1f9065557d Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to 'gnu/services')
-rw-r--r--gnu/services/dns.scm24
1 files changed, 20 insertions, 4 deletions
diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm
index 05291eb65d9..fd849d08e89 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -27,6 +27,7 @@
#:use-module (gnu system shadow)
#:use-module (gnu packages admin)
#:use-module (gnu packages dns)
+ #:use-module (guix deprecation)
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix gexp)
@@ -742,8 +743,13 @@ cache.size = 100 * MB
dnsmasq-configuration?
(package dnsmasq-configuration-package
(default dnsmasq)) ;file-like
- (provision dnsmasq-provision
- (default '(dnsmasq)))
+ (provision dnsmasq-configuration-provision ; deprecated
+ (default #f)
+ (sanitize warn-deprecated-dnsmasq-configuration-provision))
+ (shepherd-provision dnsmasq-configuration-shepherd-provision
+ (default '(dnsmasq)))
+ (shepherd-requirement dnsmasq-configuration-shepherd-requirement
+ (default '(user-processes networking)))
(no-hosts? dnsmasq-configuration-no-hosts?
(default #f)) ;boolean
(port dnsmasq-configuration-port
@@ -799,9 +805,19 @@ cache.size = 100 * MB
(tftp-unique-root dnsmasq-tftp-unique-root
(default #f))) ;"" or "ip" or "mac"
+(define (warn-deprecated-dnsmasq-configuration-provision value)
+ (when (pair? value)
+ (warn-about-deprecation
+ 'provision #f
+ #:replacement 'shepherd-provision))
+ value)
+
(define (dnsmasq-shepherd-service config)
(match-record config <dnsmasq-configuration>
(package
+ provision
+ shepherd-provision
+ shepherd-requirement
no-hosts?
port local-service? listen-addresses
resolv-file no-resolv?
@@ -815,8 +831,8 @@ cache.size = 100 * MB
tftp-lowercase? tftp-port-range
tftp-root tftp-unique-root extra-options)
(shepherd-service
- (provision (dnsmasq-provision config))
- (requirement '(user-processes networking))
+ (provision (or provision shepherd-provision))
+ (requirement shepherd-requirement)
(documentation "Run the dnsmasq DNS server.")
(start #~(make-forkexec-constructor
(list