diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-02-08 23:29:06 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-02-08 23:46:46 +0100 |
commit | 6eb439070a12e62e72c13f189ad71394226e6036 (patch) | |
tree | 4738bc8fe41dcac47c90d024e28fdcee67f07e7f | |
parent | f2e4805b7e80e31cc23b22a9f082b74d0547fc5f (diff) | |
download | guix-6eb439070a12e62e72c13f189ad71394226e6036.tar guix-6eb439070a12e62e72c13f189ad71394226e6036.tar.gz |
file-systems: Spawn a Bournish REPL upon fsck failure.
Fixes <http://bugs.gnu.org/22588>.
Reported by Mark H Weaver <mhw@netris.org>.
* gnu/build/file-systems.scm (check-file-system): Pass
%BOURNISH-LANGUAGE as the argument to 'start-repl'.
* gnu/services.scm (activation-script): Add (guix build bournish).
* gnu/services/base.scm (file-system-shepherd-service)[imported-modules]:
Likewise.
* gnu/system/linux-container.scm (container-script): Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
-rw-r--r-- | gnu/build/file-systems.scm | 6 | ||||
-rw-r--r-- | gnu/services.scm | 1 | ||||
-rw-r--r-- | gnu/services/base.scm | 1 | ||||
-rw-r--r-- | gnu/system/linux-container.scm | 1 | ||||
-rw-r--r-- | gnu/system/vm.scm | 1 |
5 files changed, 8 insertions, 2 deletions
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index f8b8697b46..58ccf599d6 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -18,6 +18,7 @@ (define-module (gnu build file-systems) #:use-module (guix build utils) + #:use-module (guix build bournish) #:use-module (rnrs io ports) #:use-module (rnrs bytevectors) #:use-module (ice-9 match) @@ -352,9 +353,10 @@ the following: (sleep 3) (reboot)) (code - (format (current-error-port) "'~a' exited with code ~a on ~a; spawning REPL~%" + (format (current-error-port) "'~a' exited with code ~a on ~a; \ +spawning Bourne-like REPL~%" fsck code device) - (start-repl))))) + (start-repl %bournish-language))))) (define (mount-flags->bit-mask flags) "Return the number suitable for the 'flags' argument of 'mount' that diff --git a/gnu/services.scm b/gnu/services.scm index 1ad573787f..ffba418e88 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -326,6 +326,7 @@ ACTIVATION-SCRIPT-TYPE." (gnu build file-systems) (guix build utils) (guix build syscalls) + (guix build bournish) (guix elf))) (define (service-activations) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 28ccfe0f37..6160e79f30 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -271,6 +271,7 @@ FILE-SYSTEM." #:select (check-file-system canonicalize-device-spec)) ,@%default-modules)) (imported-modules `((gnu build file-systems) + (guix build bournish) ,@%default-imported-modules)))) '()))) diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index 4f38c5cb0a..c558f45769 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -110,5 +110,6 @@ that will be shared with the host system." (guix utils) (guix build utils) (guix build syscalls) + (guix build bournish) (gnu build file-systems) (gnu build linux-container)))))) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 3cba400a57..a7c03bda17 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -104,6 +104,7 @@ (guix records) (guix build utils) (guix build syscalls) + (guix build bournish) (guix build store-copy))) (guile-for-build (%guile-for-build)) |