file-systems: Spawn a Bournish REPL upon fsck failure.
authorLudovic Courtès <ludo@gnu.org>
Mon, 8 Feb 2016 22:29:06 +0000 (23:29 +0100)
committerLudovic Courtès <ludo@gnu.org>
Mon, 8 Feb 2016 22:46:46 +0000 (23:46 +0100)
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.

gnu/build/file-systems.scm
gnu/services.scm
gnu/services/base.scm
gnu/system/linux-container.scm
gnu/system/vm.scm

index f8b8697..58ccf59 100644 (file)
@@ -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
index 1ad5737..ffba418 100644 (file)
@@ -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)
index 28ccfe0..6160e79 100644 (file)
@@ -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))))
         '())))
 
index 4f38c5c..c558f45 100644 (file)
@@ -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))))))
index 3cba400..a7c03bd 100644 (file)
                                                 (guix records)
                                                 (guix build utils)
                                                 (guix build syscalls)
+                                                (guix build bournish)
                                                 (guix build store-copy)))
                                              (guile-for-build
                                               (%guile-for-build))