aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-02-08 23:29:06 +0100
committerLudovic Courtès <ludo@gnu.org>2016-02-08 23:46:46 +0100
commit6eb439070a12e62e72c13f189ad71394226e6036 (patch)
tree4738bc8fe41dcac47c90d024e28fdcee67f07e7f
parentf2e4805b7e80e31cc23b22a9f082b74d0547fc5f (diff)
downloadguix-6eb439070a12e62e72c13f189ad71394226e6036.tar.gz
guix-6eb439070a12e62e72c13f189ad71394226e6036.zip
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.scm6
-rw-r--r--gnu/services.scm1
-rw-r--r--gnu/services/base.scm1
-rw-r--r--gnu/system/linux-container.scm1
-rw-r--r--gnu/system/vm.scm1
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))