Browse Source

services: boot: Reverse the order of boot expressions.

* gnu/services.scm (compute-boot-script): Reverse MEXPS.
* gnu/system.scm (essential-services): Reverse order of
%SHEPHERD-ROOT-SERVICE, %ACTIVATION-SERVICE, and CLEANUP-SERVICE-TYPE.
gn-latest-20200428
Ludovic Courtès 3 years ago
parent
commit
661c237b4d
No known key found for this signature in database GPG Key ID: 90B11993D9AEBB5
  1. 6
      gnu/services.scm
  2. 8
      gnu/system.scm

6
gnu/services.scm

@ -334,7 +334,11 @@ containing the given entries."
(extend system-derivation)))
(define (compute-boot-script _ mexps)
(mlet %store-monad ((gexps (sequence %store-monad mexps)))
;; Reverse MEXPS so that extensions appear in the boot script in the right
;; order. That is, user extensions would come first, and extensions added
;; by 'essential-services' (e.g., running shepherd) are guaranteed to come
;; last.
(mlet %store-monad ((gexps (sequence %store-monad (reverse mexps))))
(gexp->file "boot"
;; Clean up and activate the system, then spawn shepherd.
#~(begin #$@gexps))))

8
gnu/system.scm

@ -470,13 +470,13 @@ a container or that of a \"bare metal\" system."
(cons* (service system-service-type entries)
%boot-service
;; %SHEPHERD-ROOT-SERVICE must come first so that the gexp that
;; %SHEPHERD-ROOT-SERVICE must come last so that the gexp that
;; execs shepherd comes last in the boot script (XXX). Likewise,
;; the cleanup service must come last so that its gexp runs before
;; the cleanup service must come first so that its gexp runs before
;; activation code.
%shepherd-root-service
%activation-service
(service cleanup-service-type #f)
%activation-service
%shepherd-root-service
(pam-root-service (operating-system-pam-services os))
(account-service (append (operating-system-accounts os)

Loading…
Cancel
Save