From 162bd298563201ebf6eda87d46ae1b64671397da Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro
Date: Sun, 26 Aug 2018 21:54:14 +1000 Subject: [PATCH] gnu: services: Load all services on reconfigure, not just stopped ones * gnu/services/shepherd.scm (shepherd-service-upgrade): Remove checks for running services. --- gnu/services/shepherd.scm | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 4cd224984..efeb82c86 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès ;;; Copyright © 2017 Clément Lassieur +;;; Copyright © 2018 Carlo Zancanaro ;;; ;;; This file is part of GNU Guix. ;;; @@ -338,20 +339,6 @@ needs to be loaded." (shepherd-service-lookup-procedure target shepherd-service-provision)) - (define lookup-live - (shepherd-service-lookup-procedure live - live-service-provision)) - - (define (running? service) - (and=> (lookup-live (shepherd-service-canonical-name service)) - live-service-running)) - - (define (stopped service) - (match (lookup-live (shepherd-service-canonical-name service)) - (#f #f) - (service (and (not (live-service-running service)) - service)))) - (define live-service-dependents (shepherd-service-back-edges live #:provision live-service-provision @@ -363,14 +350,12 @@ needs to be loaded." (_ #f))) (define to-load - ;; Only load services that are either new or currently stopped. - (remove running? target)) + ;; Load all of the new services. + target) (define to-unload - ;; Unload services that are (1) no longer required, or (2) are in TO-LOAD. - (remove essential? - (append (filter obsolete? live) - (filter-map stopped to-load)))) + ;; Unload services that are no longer required. + (remove essential? (filter obsolete? live))) (values to-unload to-load)) -- 2.18.0