From 6eb439070a12e62e72c13f189ad71394226e6036 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 8 Feb 2016 23:29:06 +0100 Subject: file-systems: Spawn a Bournish REPL upon fsck failure. Fixes . Reported by Mark H Weaver . * 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 | 6 ++++-- gnu/services.scm | 1 + gnu/services/base.scm | 1 + gnu/system/linux-container.scm | 1 + 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)) -- cgit 1.4.1