From efe7d19a9edafb793dca21dcefce89ead3465030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 15 Apr 2017 22:12:37 +0200 Subject: [PATCH] services: 'service-parameters' becomes 'service-value'. * gnu/services.scm ()[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. --- doc/guix.texi | 2 +- gnu/services.scm | 21 +++++++++++++-------- gnu/system.scm | 8 ++++---- gnu/tests/base.scm | 2 +- guix/scripts/system.scm | 6 +++--- tests/services.scm | 4 ++-- 6 files changed, 24 insertions(+), 19 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 07f52becf8..bf46f89bf2 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -15684,7 +15684,7 @@ Return true if @var{obj} is a service. Return the type of @var{service}---i.e., a @code{} 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 diff --git a/gnu/services.scm b/gnu/services.scm index 9f6e323e18..af4cffe819 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -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 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))) (($ _ 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 diff --git a/gnu/system.scm b/gnu/system.scm index 69cbc8a081..89c4150f99 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -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." diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index bcb8299c73..6ce5ab3de1 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -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))) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 9d86efdd77..9ffdc15abb 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -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 + (shepherds (service-value pid1)) ;list of (sinks (filter (lambda (service) (null? (shepherd-service-requirement service))) shepherds))) diff --git a/tests/services.scm b/tests/services.scm index 8993c3dafc..7983427a7d 100644 --- a/tests/services.scm +++ b/tests/services.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017 Ludovic Courtès ;;; ;;; 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 '())