services: Allow 'check-file-system' to work for non-boot-time file systems.
* gnu/services/base.scm (file-system-service)[start]: Set $PATH so that fsck.* can be found. Reported by "DusXMT".
This commit is contained in:
parent
02dd2a9cb6
commit
1b09031f78
1 changed files with 9 additions and 2 deletions
|
@ -25,7 +25,7 @@
|
||||||
#:use-module (gnu system linux) ; 'pam-service', etc.
|
#:use-module (gnu system linux) ; 'pam-service', etc.
|
||||||
#:use-module (gnu packages admin)
|
#:use-module (gnu packages admin)
|
||||||
#:use-module ((gnu packages linux)
|
#:use-module ((gnu packages linux)
|
||||||
#:select (udev kbd))
|
#:select (udev kbd e2fsprogs))
|
||||||
#:use-module ((gnu packages base)
|
#:use-module ((gnu packages base)
|
||||||
#:select (glibc-final))
|
#:select (glibc-final))
|
||||||
#:use-module (gnu packages package-management)
|
#:use-module (gnu packages package-management)
|
||||||
|
@ -110,7 +110,14 @@ true, check the file system before mounting it."
|
||||||
(start #~(lambda args
|
(start #~(lambda args
|
||||||
(let ((device (canonicalize-device-spec #$device '#$title)))
|
(let ((device (canonicalize-device-spec #$device '#$title)))
|
||||||
#$(if check?
|
#$(if check?
|
||||||
#~(check-file-system device #$type)
|
#~(begin
|
||||||
|
;; Make sure fsck.ext2 & co. can be found.
|
||||||
|
(setenv "PATH"
|
||||||
|
(string-append
|
||||||
|
#$e2fsprogs "/sbin:"
|
||||||
|
"/run/current-system/profile/sbin:"
|
||||||
|
(getenv "PATH")))
|
||||||
|
(check-file-system device #$type))
|
||||||
#~#t)
|
#~#t)
|
||||||
(mount device #$target #$type 0 #$options))
|
(mount device #$target #$type 0 #$options))
|
||||||
#t))
|
#t))
|
||||||
|
|
Reference in a new issue