[bug#56075,2/2] services: configuration: Remove 'validate-configuration'.
Commit Message
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(-)
Comments
Hi,
Ludovic Courtès <ludo@gnu.org> writes:
> 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.
I tried "make check-system TESTS='prosody jami-provisioning'" and they
pass. I guess it's good to go.
Thank you!
Maxim
@@ -38886,12 +38886,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.
@@ -57,7 +57,6 @@ (define-module (gnu services configuration)
serialize-configuration
define-maybe
define-maybe/no-serialization
- validate-configuration
generate-documentation
configuration->documentation
empty-serializer
@@ -125,14 +124,6 @@ (define (serialize-configuration config fields)
((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) ...)))
@@ -1610,10 +1610,6 @@ (define* (dovecot-service #:key (config (dovecot-configuration)))
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.
@@ -540,11 +540,9 @@ (define openvpn-client-service-type
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)