~ruther/guix-local

9328eafbf590938d2b7c4b8c6476a8664fa052b7 — Ludovic Courtès 9 years ago a79fbd5
services: file-system: Make sure fsck.* commands are in $PATH.

Fixes a regression introduced in
bf7ef1bb848db0977b54ea012789adc68751c68a, whereby the fsck.* commands
would not be found.

* gnu/services/base.scm (file-system-shepherd-service): Call calls to
'setenv'.
1 files changed, 18 insertions(+), 4 deletions(-)

M gnu/services/base.scm
M gnu/services/base.scm => gnu/services/base.scm +18 -4
@@ 269,10 269,24 @@ FILE-SYSTEM."
		       #$(if create?
                             #~(mkdir-p #$target)
                             #t)
		       (mount-file-system
			`(#$device #$title #$target #$type #$flags #$options
				   #$check?) #:root "/")
                       #t))

                       (let (($PATH (getenv "PATH")))
                         ;; Make sure fsck.ext2 & co. can be found.
                         (dynamic-wind
                           (lambda ()
                             (setenv "PATH"
                                     (string-append
                                      #$e2fsprogs "/sbin:"
                                      "/run/current-system/profile/sbin:"
                                      $PATH)))
                           (lambda ()
                             (mount-file-system
                              `(#$device #$title #$target #$type #$flags
                                         #$options #$check?)
                              #:root "/"))
                           (lambda ()
                             (setenv "PATH" $PATH)))
                         #t)))
            (stop #~(lambda args
                      ;; Normally there are no processes left at this point, so
                      ;; TARGET can be safely unmounted.