services: herd: "Resolve" transient services only when needed.
This allows us to get rid of the "eval root" actions, which in turn would lead to confusing "Evaluating user expression" messages. Fixes <https://issues.guix.gnu.org/55857>. * gnu/services/herd.scm (resolve-transients): In 'values', avoid 'eval-there' call when UNRESOLVED is empty.master
parent
e91ceece76
commit
d23d8fcee9
|
@ -242,12 +242,13 @@ service is transient."
|
|||
;; for all of SERVICES.
|
||||
(let* ((unresolved (filter (compose unspecified? live-service-transient?)
|
||||
services))
|
||||
(values (or (eval-there
|
||||
`(and (defined? 'transient?) ;shepherd >= 0.9.0
|
||||
(map (compose transient? lookup-running)
|
||||
',(map (compose first
|
||||
live-service-provision)
|
||||
unresolved))))
|
||||
(values (or (and (pair? unresolved)
|
||||
(eval-there
|
||||
`(and (defined? 'transient?) ;shepherd >= 0.9.0
|
||||
(map (compose transient? lookup-running)
|
||||
',(map (compose first
|
||||
live-service-provision)
|
||||
unresolved)))))
|
||||
(make-list (length unresolved) #f)))
|
||||
(resolved (map (lambda (unresolved transient?)
|
||||
(cons unresolved
|
||||
|
|
Reference in New Issue