summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/system/reconfigure.scm8
-rw-r--r--tests/services.scm20
2 files changed, 15 insertions, 13 deletions
diff --git a/guix/scripts/system/reconfigure.scm b/guix/scripts/system/reconfigure.scm
index bf23fb06af..ca988953f9 100644
--- a/guix/scripts/system/reconfigure.scm
+++ b/guix/scripts/system/reconfigure.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -134,6 +134,7 @@ return the <live-service> objects that are currently running on MACHINE."
                  (map (lambda (service)
                         (list (live-service-provision service)
                               (live-service-requirement service)
+                              (live-service-transient service)
                               (match (live-service-running service)
                                 (#f #f)
                                 (#t #t)
@@ -143,8 +144,9 @@ return the <live-service> objects that are currently running on MACHINE."
 
   (mlet %store-monad ((services (eval exp)))
     (return (map (match-lambda
-                   ((provision requirement running)
-                    (live-service provision requirement running)))
+                   ((provision requirement transient? running)
+                    (live-service provision requirement
+                                  transient? running)))
                  services))))
 
 ;; XXX: Currently, this does NOT attempt to restart running services. See
diff --git a/tests/services.scm b/tests/services.scm
index 572fe38164..03c490100b 100644
--- a/tests/services.scm
+++ b/tests/services.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015-2019, 2022 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -212,9 +212,9 @@
         ;; because it is not currently running.  'baz' is loaded because it's
         ;; a new service.
         (shepherd-service-upgrade
-         (list (live-service '(foo) '() #t)
-               (live-service '(bar) '() #f)
-               (live-service '(root) '() #t))     ;essential!
+         (list (live-service '(foo) '() #f #t)
+               (live-service '(bar) '() #f #f)
+               (live-service '(root) '() #f #t))     ;essential!
          (list (shepherd-service (provision '(foo))
                                  (start #t))
                (shepherd-service (provision '(bar))
@@ -234,9 +234,9 @@
         ;; unloaded because 'foo' depends on it.  'foo' gets replaced but it
         ;; must be restarted manually.
         (shepherd-service-upgrade
-         (list (live-service '(foo) '(bar) #t)
-               (live-service '(bar) '() #t)       ;still used!
-               (live-service '(baz) '() #t))
+         (list (live-service '(foo) '(bar) #f #t)
+               (live-service '(bar) '() #f #t)    ;still used!
+               (live-service '(baz) '() #f #t))
          (list (shepherd-service (provision '(foo))
                                  (start #t)))))
     (lambda (unload restart)
@@ -251,9 +251,9 @@
         ;; 'foo', 'bar', and 'baz' depend on each other, but all of them are
         ;; obsolete, and thus should be unloaded.
         (shepherd-service-upgrade
-         (list (live-service '(foo) '(bar) #t)    ;obsolete
-               (live-service '(bar) '(baz) #t)    ;obsolete
-               (live-service '(baz) '() #t))      ;obsolete
+         (list (live-service '(foo) '(bar) #f #t) ;obsolete
+               (live-service '(bar) '(baz) #f #t) ;obsolete
+               (live-service '(baz) '() #f #t))   ;obsolete
          (list (shepherd-service (provision '(qux))
                                  (start #t)))))
     (lambda (unload restart)