services: <shepherd-service> no longer has an 'imported-modules' field.
* gnu/services/shepherd.scm (<shepherd-service>)[imported-modules]: Remove. (%default-imported-modules): Make private. (shepherd-service-file): Use 'with-imported-modules'. (shepherd-configuration-file): Remove 'modules' and the calls to 'imported-modules' and 'compiled-modules'. Use 'with-imported-modules' instead. * doc/guix.texi (Shepherd Services): Adjust accordingly. * gnu/services/base.scm (file-system-shepherd-service): Use 'with-imported-modules'. Remove 'imported-modules' field. * gnu/system/mapped-devices.scm (device-mapping-service-type): Remove 'imported-modules'. (open-luks-device): Use 'with-imported-modules'. * gnu/tests.scm (marionette-shepherd-service): Remove 'imported-modules' field and use 'with-imported-modules'.
This commit is contained in:
parent
fd12989398
commit
a91c3fc727
|
@ -10848,10 +10848,6 @@ where @var{service-name} is one of the symbols in @var{provision}
|
||||||
This is the list of modules that must be in scope when @code{start} and
|
This is the list of modules that must be in scope when @code{start} and
|
||||||
@code{stop} are evaluated.
|
@code{stop} are evaluated.
|
||||||
|
|
||||||
@item @code{imported-modules} (default: @var{%default-imported-modules})
|
|
||||||
This is the list of modules to import in the execution environment of
|
|
||||||
the Shepherd.
|
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
|
|
|
@ -229,6 +229,8 @@ FILE-SYSTEM."
|
||||||
(create? (file-system-create-mount-point? file-system))
|
(create? (file-system-create-mount-point? file-system))
|
||||||
(dependencies (file-system-dependencies file-system)))
|
(dependencies (file-system-dependencies file-system)))
|
||||||
(if (file-system-mount? file-system)
|
(if (file-system-mount? file-system)
|
||||||
|
(with-imported-modules '((gnu build file-systems)
|
||||||
|
(guix build bournish))
|
||||||
(list
|
(list
|
||||||
(shepherd-service
|
(shepherd-service
|
||||||
(provision (list (file-system->shepherd-service-name file-system)))
|
(provision (list (file-system->shepherd-service-name file-system)))
|
||||||
|
@ -278,10 +280,7 @@ FILE-SYSTEM."
|
||||||
;; We need an additional module.
|
;; We need an additional module.
|
||||||
(modules `(((gnu build file-systems)
|
(modules `(((gnu build file-systems)
|
||||||
#:select (check-file-system canonicalize-device-spec))
|
#:select (check-file-system canonicalize-device-spec))
|
||||||
,@%default-modules))
|
,@%default-modules)))))
|
||||||
(imported-modules `((gnu build file-systems)
|
|
||||||
(guix build bournish)
|
|
||||||
,@%default-imported-modules))))
|
|
||||||
'())))
|
'())))
|
||||||
|
|
||||||
(define file-system-service-type
|
(define file-system-service-type
|
||||||
|
|
|
@ -47,9 +47,7 @@
|
||||||
shepherd-service-stop
|
shepherd-service-stop
|
||||||
shepherd-service-auto-start?
|
shepherd-service-auto-start?
|
||||||
shepherd-service-modules
|
shepherd-service-modules
|
||||||
shepherd-service-imported-modules
|
|
||||||
|
|
||||||
%default-imported-modules
|
|
||||||
%default-modules
|
%default-modules
|
||||||
|
|
||||||
shepherd-service-file
|
shepherd-service-file
|
||||||
|
@ -138,9 +136,7 @@ for a service that extends SHEPHERD-ROOT-SERVICE-TYPE and nothing else."
|
||||||
(auto-start? shepherd-service-auto-start? ;Boolean
|
(auto-start? shepherd-service-auto-start? ;Boolean
|
||||||
(default #t))
|
(default #t))
|
||||||
(modules shepherd-service-modules ;list of module names
|
(modules shepherd-service-modules ;list of module names
|
||||||
(default %default-modules))
|
(default %default-modules)))
|
||||||
(imported-modules shepherd-service-imported-modules ;list of module names
|
|
||||||
(default %default-imported-modules)))
|
|
||||||
|
|
||||||
(define (shepherd-service-canonical-name service)
|
(define (shepherd-service-canonical-name service)
|
||||||
"Return the 'canonical name' of SERVICE."
|
"Return the 'canonical name' of SERVICE."
|
||||||
|
@ -203,6 +199,7 @@ stored."
|
||||||
(define (shepherd-service-file service)
|
(define (shepherd-service-file service)
|
||||||
"Return a file defining SERVICE."
|
"Return a file defining SERVICE."
|
||||||
(gexp->file (shepherd-service-file-name service)
|
(gexp->file (shepherd-service-file-name service)
|
||||||
|
(with-imported-modules %default-imported-modules
|
||||||
#~(begin
|
#~(begin
|
||||||
(use-modules #$@(shepherd-service-modules service))
|
(use-modules #$@(shepherd-service-modules service))
|
||||||
|
|
||||||
|
@ -212,28 +209,16 @@ stored."
|
||||||
#:requires '#$(shepherd-service-requirement service)
|
#:requires '#$(shepherd-service-requirement service)
|
||||||
#:respawn? '#$(shepherd-service-respawn? service)
|
#:respawn? '#$(shepherd-service-respawn? service)
|
||||||
#:start #$(shepherd-service-start service)
|
#:start #$(shepherd-service-start service)
|
||||||
#:stop #$(shepherd-service-stop service)))))
|
#:stop #$(shepherd-service-stop service))))))
|
||||||
|
|
||||||
(define (shepherd-configuration-file services)
|
(define (shepherd-configuration-file services)
|
||||||
"Return the shepherd configuration file for SERVICES."
|
"Return the shepherd configuration file for SERVICES."
|
||||||
(define modules
|
|
||||||
(delete-duplicates
|
|
||||||
(append-map shepherd-service-imported-modules services)))
|
|
||||||
|
|
||||||
(assert-valid-graph services)
|
(assert-valid-graph services)
|
||||||
|
|
||||||
(mlet %store-monad ((modules (imported-modules modules))
|
(mlet %store-monad ((files (mapm %store-monad
|
||||||
(compiled (compiled-modules modules))
|
shepherd-service-file services)))
|
||||||
(files (mapm %store-monad
|
|
||||||
shepherd-service-file
|
|
||||||
services)))
|
|
||||||
(define config
|
(define config
|
||||||
#~(begin
|
#~(begin
|
||||||
(eval-when (expand load eval)
|
|
||||||
(set! %load-path (cons #$modules %load-path))
|
|
||||||
(set! %load-compiled-path
|
|
||||||
(cons #$compiled %load-compiled-path)))
|
|
||||||
|
|
||||||
(use-modules (srfi srfi-34)
|
(use-modules (srfi srfi-34)
|
||||||
(system repl error-handling))
|
(system repl error-handling))
|
||||||
|
|
||||||
|
|
|
@ -85,9 +85,7 @@
|
||||||
(modules `((rnrs bytevectors) ;bytevector?
|
(modules `((rnrs bytevectors) ;bytevector?
|
||||||
((gnu build file-systems)
|
((gnu build file-systems)
|
||||||
#:select (find-partition-by-luks-uuid))
|
#:select (find-partition-by-luks-uuid))
|
||||||
,@%default-modules))
|
,@%default-modules)))))))
|
||||||
(imported-modules `((gnu build file-systems)
|
|
||||||
,@%default-imported-modules)))))))
|
|
||||||
|
|
||||||
(define (device-mapping-service mapped-device)
|
(define (device-mapping-service mapped-device)
|
||||||
"Return a service that sets up @var{mapped-device}."
|
"Return a service that sets up @var{mapped-device}."
|
||||||
|
@ -101,6 +99,8 @@
|
||||||
(define (open-luks-device source target)
|
(define (open-luks-device source target)
|
||||||
"Return a gexp that maps SOURCE to TARGET as a LUKS device, using
|
"Return a gexp that maps SOURCE to TARGET as a LUKS device, using
|
||||||
'cryptsetup'."
|
'cryptsetup'."
|
||||||
|
(with-imported-modules '((gnu build file-systems)
|
||||||
|
(guix build bournish))
|
||||||
#~(let ((source #$source))
|
#~(let ((source #$source))
|
||||||
(zero? (system* (string-append #$cryptsetup "/sbin/cryptsetup")
|
(zero? (system* (string-append #$cryptsetup "/sbin/cryptsetup")
|
||||||
"open" "--type" "luks"
|
"open" "--type" "luks"
|
||||||
|
@ -114,7 +114,7 @@
|
||||||
(error "LUKS partition not found" source))
|
(error "LUKS partition not found" source))
|
||||||
source)
|
source)
|
||||||
|
|
||||||
#$target))))
|
#$target)))))
|
||||||
|
|
||||||
(define (close-luks-device source target)
|
(define (close-luks-device source target)
|
||||||
"Return a gexp that closes TARGET, a LUKS device."
|
"Return a gexp that closes TARGET, a LUKS device."
|
||||||
|
|
|
@ -80,9 +80,9 @@
|
||||||
(srfi srfi-9 gnu)
|
(srfi srfi-9 gnu)
|
||||||
(guix build syscalls)
|
(guix build syscalls)
|
||||||
(rnrs bytevectors)))
|
(rnrs bytevectors)))
|
||||||
(imported-modules `((guix build syscalls)
|
|
||||||
,@imported-modules))
|
|
||||||
(start
|
(start
|
||||||
|
(with-imported-modules `((guix build syscalls)
|
||||||
|
,@imported-modules)
|
||||||
#~(lambda ()
|
#~(lambda ()
|
||||||
(define (clear-echo termios)
|
(define (clear-echo termios)
|
||||||
(set-field termios (termios-local-flags)
|
(set-field termios (termios-local-flags)
|
||||||
|
@ -141,7 +141,7 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(primitive-exit 1))))
|
(primitive-exit 1))))
|
||||||
(pid
|
(pid
|
||||||
pid))))
|
pid)))))
|
||||||
(stop #~(make-kill-destructor)))))))
|
(stop #~(make-kill-destructor)))))))
|
||||||
|
|
||||||
(define marionette-service-type
|
(define marionette-service-type
|
||||||
|
|
Loading…
Reference in New Issue