services: 'service-parameters' becomes 'service-value'.

* gnu/services.scm (<service>)[parameters]: Rename to...
[value]: ... this.
Change calls to 'service-parameters' to 'service-value'.
* gnu/system.scm, gnu/tests/base.scm,
guix/scripts/system.scm, tests/services.scm: Likewise.
* doc/guix.texi (Service Reference): Adjust accordingly.
This commit is contained in:
Ludovic Courtès 2017-04-15 22:12:37 +02:00
parent af3f64477c
commit efe7d19a9e
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
6 changed files with 24 additions and 19 deletions

View File

@ -15684,7 +15684,7 @@ Return true if @var{obj} is a service.
Return the type of @var{service}---i.e., a @code{<service-type>} object.
@end deffn
@deffn {Scheme Procedure} service-parameters @var{service}
@deffn {Scheme Procedure} service-value @var{service}
Return the value associated with @var{service}. It represents its
parameters.
@end deffn

View File

@ -51,7 +51,8 @@
service
service?
service-kind
service-parameters
service-value
service-parameters ;deprecated
simple-service
modify-services
@ -142,10 +143,14 @@
;; Services of a given type.
(define-record-type <service>
(service type parameters)
(service type value)
service?
(type service-kind)
(parameters service-parameters))
(value service-value))
(define service-parameters
;; Deprecated alias.
service-value)
(define (simple-service name target value)
"Return a service that extends TARGET with VALUE. This works by creating a
@ -161,7 +166,7 @@ singleton service type NAME, of which the returned service is an instance."
service)
((_ svc (kind param => exp ...) clauses ...)
(if (eq? (service-kind svc) kind)
(let ((param (service-parameters svc)))
(let ((param (service-value svc)))
(service (service-kind svc)
(begin exp ...)))
(%modify-service svc clauses ...)))))
@ -321,7 +326,7 @@ file."
(define* (activation-service->script service)
"Return as a monadic value the activation script for SERVICE, a service of
ACTIVATION-SCRIPT-TYPE."
(activation-script (service-parameters service)))
(activation-script (service-value service)))
(define (activation-script gexps)
"Return the system's activation script, which evaluates GEXPS."
@ -432,7 +437,7 @@ and FILE could be \"/usr/bin/env\"."
(define (etc-directory service)
"Return the directory for SERVICE, a service of type ETC-SERVICE-TYPE."
(files->etc-directory (service-parameters service)))
(files->etc-directory (service-value service)))
(define (files->etc-directory files)
(file-union "etc" files))
@ -605,7 +610,7 @@ TARGET-TYPE; return the root service adjusted accordingly."
(match (find (matching-extension target)
(service-type-extensions (service-kind service)))
(($ <service-extension> _ compute)
(compute (service-parameters service))))))
(compute (service-value service))))))
(match (filter (lambda (service)
(eq? (service-kind service) target-type))
@ -616,7 +621,7 @@ TARGET-TYPE; return the root service adjusted accordingly."
(extensions (map (apply-extension sink) dependents))
(extend (service-type-extend (service-kind sink)))
(compose (service-type-compose (service-kind sink)))
(params (service-parameters sink)))
(params (service-value sink)))
;; We distinguish COMPOSE and EXTEND because PARAMS typically has a
;; different type than the elements of EXTENSIONS.
(if extend

View File

@ -615,7 +615,7 @@ hardware-related operations as necessary when booting a Linux container."
(let* ((services (operating-system-services os #:container? container?))
(boot (fold-services services #:target-type boot-service-type)))
;; BOOT is the script as a monadic value.
(service-parameters boot)))
(service-value boot)))
(define (operating-system-user-accounts os)
"Return the list of user accounts of OS."
@ -623,12 +623,12 @@ hardware-related operations as necessary when booting a Linux container."
(account (fold-services services
#:target-type account-service-type)))
(filter user-account?
(service-parameters account))))
(service-value account))))
(define (operating-system-shepherd-service-names os)
"Return the list of Shepherd service names for OS."
(append-map shepherd-service-provision
(service-parameters
(service-value
(fold-services (operating-system-services os)
#:target-type
shepherd-root-service-type))))
@ -638,7 +638,7 @@ hardware-related operations as necessary when booting a Linux container."
(let* ((services (operating-system-services os #:container? container?))
(system (fold-services services)))
;; SYSTEM contains the derivation as a monadic value.
(service-parameters system)))
(service-value system)))
(define* (operating-system-profile os #:key container?)
"Return a derivation that builds the system profile of OS."

View File

@ -56,7 +56,7 @@ passed a gexp denoting the marionette, and it must return gexp that is
inserted before the first test. This is used to introduce an extra
initialization step, such as entering a LUKS passphrase."
(define special-files
(service-parameters
(service-value
(fold-services (operating-system-services os)
#:target-type special-files-service-type)))

View File

@ -289,7 +289,7 @@ This is currently very conservative in that it does not stop or unload any
running service. Unloading or stopping the wrong service ('udev', say) could
bring the system down."
(define new-services
(service-parameters
(service-value
(fold-services (operating-system-services os)
#:target-type shepherd-root-service-type)))
@ -487,7 +487,7 @@ open connection to the store."
(define (service-node-label service)
"Return a label to represent SERVICE."
(let ((type (service-kind service))
(value (service-parameters service)))
(value (service-value service)))
(string-append (symbol->string (service-type-name type))
(cond ((or (number? value) (symbol? value))
(string-append " " (object->string value)))
@ -711,7 +711,7 @@ output when building a system derivation, such as a disk image."
(let* ((services (operating-system-services os))
(pid1 (fold-services services
#:target-type shepherd-root-service-type))
(shepherds (service-parameters pid1)) ;list of <shepherd-service>
(shepherds (service-value pid1)) ;list of <shepherd-service>
(sinks (filter (lambda (service)
(null? (shepherd-service-requirement service)))
shepherds)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -75,7 +75,7 @@
(iota 5 1)))
#:target-type t1)))
(and (eq? (service-kind r) t1)
(service-parameters r))))
(service-value r))))
(test-assert "fold-services, ambiguity"
(let* ((t1 (service-type (name 't1) (extensions '())