summaryrefslogtreecommitdiff
path: root/gnu/installer/steps.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2021-12-29 13:45:26 +0100
committerMathieu Othacehe <othacehe@gnu.org>2022-02-02 16:46:42 +0100
commit0d37a5df7e709cadca97cfbbf9c680dfe54b8302 (patch)
treef9b5877771fe70c92d7b7db327419dc2c6fd7c76 /gnu/installer/steps.scm
parent8f585083277e64ea1e9a0848ef3c49f12327618c (diff)
installer: Add crash dump upload support.
Suggested-by: Josselin Poiret <dev@jpoiret.xyz> * gnu/installer/dump.scm: New file. * gnu/installer/newt/dump.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add them. * gnu/installer/record.scm (<installer>)[dump-page]: New field. * gnu/installer/steps.scm (%current-result): New variable. (run-installer-steps): Update it. * gnu/installer.scm (installer-program): Add tar and gip to the installer path. Add guile-webutils and gnutls to the Guile extensions. Generate and send the crash dump report. * gnu/installer/newt.scm (exit-error): Add a report argument. Display the report id. (dump-page): New procedure. (newt-installer): Update it.
Diffstat (limited to 'gnu/installer/steps.scm')
-rw-r--r--gnu/installer/steps.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/gnu/installer/steps.scm b/gnu/installer/steps.scm
index c05dfa567a8..55433cff31a 100644
--- a/gnu/installer/steps.scm
+++ b/gnu/installer/steps.scm
@@ -52,7 +52,13 @@
52 %installer-configuration-file 52 %installer-configuration-file
53 %installer-target-dir 53 %installer-target-dir
54 format-configuration 54 format-configuration
55 configuration->file)) 55 configuration->file
56
57 %current-result))
58
59;; Hash table storing the step results. Use it only for logging and debug
60;; purposes.
61(define %current-result (make-hash-table))
56 62
57;; This condition may be raised to abort the current step. 63;; This condition may be raised to abort the current step.
58(define-condition-type &installer-step-abort &condition 64(define-condition-type &installer-step-abort &condition
@@ -183,6 +189,7 @@ return the accumalated result so far."
183 (let* ((id (installer-step-id step)) 189 (let* ((id (installer-step-id step))
184 (compute (installer-step-compute step)) 190 (compute (installer-step-compute step))
185 (res (compute result done-steps))) 191 (res (compute result done-steps)))
192 (hash-set! %current-result id res)
186 (run (alist-cons id res result) 193 (run (alist-cons id res result)
187 #:todo-steps rest-steps 194 #:todo-steps rest-steps
188 #:done-steps (append done-steps (list step)))))))) 195 #:done-steps (append done-steps (list step))))))))