diff options
author | Mathieu Othacehe <m.othacehe@gmail.com> | 2018-12-06 11:11:04 +0900 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-01-17 14:04:25 +0100 |
commit | 133c401f774d803f92933e9cadb6791641913beb (patch) | |
tree | 061febdce714640ce2d26570f0d2c67c068f6fcf /gnu/installer | |
parent | 3d0f6a055c366a5414c35262bb4b31c0f602fcd3 (diff) | |
download | guix-133c401f774d803f92933e9cadb6791641913beb.tar guix-133c401f774d803f92933e9cadb6791641913beb.tar.gz |
installer: Display an eventual backtrace in a page.
* gnu/installer.scm (installer-program): Write the backtrace in
"/tmp/last-installer-error" and pass the filename to installer-exit-error.
* gnu/installer/newt.scm (exit-error): Display the file passed above in a textbox.
Diffstat (limited to 'gnu/installer')
-rw-r--r-- | gnu/installer/newt.scm | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/gnu/installer/newt.scm b/gnu/installer/newt.scm index 9d9212173d..31329b5c0f 100644 --- a/gnu/installer/newt.scm +++ b/gnu/installer/newt.scm @@ -18,6 +18,7 @@ (define-module (gnu installer newt) #:use-module (gnu installer record) + #:use-module (gnu installer utils) #:use-module (gnu installer newt ethernet) #:use-module (gnu installer newt final) #:use-module (gnu installer newt hostname) @@ -25,6 +26,7 @@ #:use-module (gnu installer newt locale) #:use-module (gnu installer newt menu) #:use-module (gnu installer newt network) + #:use-module (gnu installer newt page) #:use-module (gnu installer newt partition) #:use-module (gnu installer newt services) #:use-module (gnu installer newt timezone) @@ -32,6 +34,7 @@ #:use-module (gnu installer newt utils) #:use-module (gnu installer newt welcome) #:use-module (gnu installer newt wifi) + #:use-module (guix config) #:use-module (guix discovery) #:use-module (guix i18n) #:use-module (srfi srfi-26) @@ -46,7 +49,23 @@ (define (exit) (newt-finish)) -(define (exit-error key . args) +(define (exit-error file key args) + (newt-set-color COLORSET-ROOT "white" "red") + (let ((width (nearest-exact-integer + (* (screen-columns) 0.8))) + (height (nearest-exact-integer + (* (screen-rows) 0.7)))) + (run-file-textbox-page + #:info-text (format #f (G_ "The installer has encountered an unexpected \ +problem. The backtrace is displayed below. Please report it by email to \ +<~a>.") %guix-bug-report-address) + #:title (G_ "Unexpected problem") + #:file file + #:exit-button? #f + #:info-textbox-width width + #:file-textbox-width width + #:file-textbox-height height)) + (newt-set-color COLORSET-ROOT "white" "blue") (newt-finish)) (define (final-page result prev-steps) |