guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

08/09: services: configuration: Remove 'validate-configuration'.


From: guix-commits
Subject: 08/09: services: configuration: Remove 'validate-configuration'.
Date: Fri, 24 Jun 2022 17:40:43 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 6505f727e1824391b888dd0c2c60cf64ec66955a
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sat Jun 18 22:59:22 2022 +0200

    services: configuration: Remove 'validate-configuration'.
    
    Now that configuration records use the 'sanitize' property for each
    field, 'validate-configuration' has become useless because it's
    impossible to construct an invalid configuration record.
    
    * gnu/services/configuration.scm (validate-configuration): Remove.
    * gnu/services/mail.scm (dovecot-service): Remove call.
    * gnu/services/vpn.scm (openvpn-client-service)
    (openvpn-server-service): Likewise.
    * doc/guix.texi (Complex Configurations): Remove documentation.
---
 doc/guix.texi                  | 6 ------
 gnu/services/configuration.scm | 9 ---------
 gnu/services/mail.scm          | 4 ----
 gnu/services/vpn.scm           | 2 --
 4 files changed, 21 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index f3b026333e..794907ce3a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -38917,12 +38917,6 @@ Return a G-expression that contains the values 
corresponding to the
 disk by using something like @code{mixed-text-file}.
 @end deffn
 
-@deffn {Scheme Procedure} validate-configuration @var{configuration}
-@var{fields}
-Type-check @var{fields}, a list of field names of @var{configuration}, a
-configuration record created by @code{define-configuration}.
-@end deffn
-
 @deffn {Scheme Procedure} empty-serializer @var{field-name} @var{value}
 A serializer that just returns an empty string.  The
 @code{serialize-package} procedure is an alias for this.
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
index c39ea5a02a..e3c101d042 100644
--- a/gnu/services/configuration.scm
+++ b/gnu/services/configuration.scm
@@ -57,7 +57,6 @@
             serialize-configuration
             define-maybe
             define-maybe/no-serialization
-            validate-configuration
             generate-documentation
             configuration->documentation
             empty-serializer
@@ -125,14 +124,6 @@ does not have a default value" field kind)))
                 ((configuration-field-getter field) config)))
              fields)))
 
-(define (validate-configuration config fields)
-  (for-each (lambda (field)
-              (let ((val ((configuration-field-getter field) config)))
-                (unless ((configuration-field-predicate field) val)
-                  (configuration-field-error
-                   (configuration-field-name field) val))))
-            fields))
-
 (define-syntax-rule (id ctx parts ...)
   "Assemble PARTS into a raw (unhygienic) identifier."
   (datum->syntax ctx (symbol-append (syntax->datum parts) ...)))
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index c2fd4d8670..10e6523861 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -1610,10 +1610,6 @@ POP3, IMAP, and LMTP.  @var{config} should be a 
configuration object created
 by @code{dovecot-configuration}.  @var{config} may also be created by
 @code{opaque-dovecot-configuration}, which allows specification of the
 @code{dovecot.conf} as a string."
-  (validate-configuration config
-                          (if (opaque-dovecot-configuration? config)
-                              opaque-dovecot-configuration-fields
-                              dovecot-configuration-fields))
   (service dovecot-service-type config))
 
 ;; A little helper to make it easier to document all those fields.
diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm
index 6a289d357a..82ff05b351 100644
--- a/gnu/services/vpn.scm
+++ b/gnu/services/vpn.scm
@@ -540,11 +540,9 @@ is truncated and rewritten every minute.")
 to an existing @acronym{VPN, virtual private network}.")))
 
 (define* (openvpn-client-service #:key (config (openvpn-client-configuration)))
-  (validate-configuration config openvpn-client-configuration-fields)
   (service openvpn-client-service-type config))
 
 (define* (openvpn-server-service #:key (config (openvpn-server-configuration)))
-  (validate-configuration config openvpn-server-configuration-fields)
   (service openvpn-server-service-type config))
 
 (define (generate-openvpn-server-documentation)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]