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 @@ (define-module (gnu services)
service
service?
service-kind
service-parameters
service-value
service-parameters ;deprecated
simple-service
modify-services
@ -142,10 +143,14 @@ (define (write-service-type type port)
;; 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 @@ (define-syntax %modify-service
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 @@ (define (directory-union name things)
(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 @@ (define (extra-special-file file target)
(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 @@ (define (apply-extension target)
(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 @@ (define (apply-extension target)
(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 @@ (define* (operating-system-boot-script os #:key 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 @@ (define (operating-system-user-accounts os)
(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 @@ (define* (operating-system-derivation os #:key 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 @@ (define* (run-basic-test os command #:optional (name "basic")
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 @@ (define (upgrade-shepherd-services os)
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 @@ (define (reinstall-grub store number)
(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 @@ (define (export-shepherd-graph os port)
(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 @@ (define live-service
(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 '())