summary refs log tree commit diff
path: root/gnu/installer/steps.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2022-10-31 16:43:09 +0100
committerMathieu Othacehe <othacehe@gnu.org>2022-11-02 15:52:19 +0100
commit62a3756bd90c922c701e899a6c01c556d8e3c75a (patch)
treec5e490eacd4c568a15caef6c373109f4b894c948 /gnu/installer/steps.scm
parent80387bc7c3966602800116f5be3893c3d3044a96 (diff)
downloadguix-62a3756bd90c922c701e899a6c01c556d8e3c75a.tar.gz
installer: Skip the backtrace page on user abort.
When the user aborts the installation because a core dump is discovered or the
installation command failed, displaying the abort backtrace doesn't make much
sense. Hide it when the abort condition is &user-abort-error and skip directly
to the dump page.

* gnu/installer/steps.scm (&user-abort-error): New variable.
(user-abort-error?): New procedure.
* gnu/installer/newt/final.scm (run-install-failed-page): Raise a
user-abort-error.
* gnu/installer/newt/welcome.scm (run-welcome-page): Ditto.
* gnu/installer.scm (installer-program): Hide the backtrace page and directly
propose to dump the report when the a &user-abort-error is raised.
Diffstat (limited to 'gnu/installer/steps.scm')
-rw-r--r--gnu/installer/steps.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/gnu/installer/steps.scm b/gnu/installer/steps.scm
index 8b25ae97c8..0c505e40e4 100644
--- a/gnu/installer/steps.scm
+++ b/gnu/installer/steps.scm
@@ -28,7 +28,10 @@
   #:use-module (srfi srfi-34)
   #:use-module (srfi srfi-35)
   #:use-module (rnrs io ports)
-  #:export (<installer-step>
+  #:export (&user-abort-error
+            user-abort-error?
+
+            <installer-step>
             installer-step
             make-installer-step
             installer-step?
@@ -50,6 +53,9 @@
 
             %current-result))
 
+(define-condition-type &user-abort-error &error
+  user-abort-error?)
+
 ;; Hash table storing the step results. Use it only for logging and debug
 ;; purposes.
 (define %current-result (make-hash-table))