From 0d37a5df7e709cadca97cfbbf9c680dfe54b8302 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 29 Dec 2021 13:45:26 +0100 Subject: installer: Add crash dump upload support. Suggested-by: Josselin Poiret * gnu/installer/dump.scm: New file. * gnu/installer/newt/dump.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add them. * gnu/installer/record.scm ()[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. --- gnu/installer/newt/dump.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 gnu/installer/newt/dump.scm (limited to 'gnu/installer/newt') diff --git a/gnu/installer/newt/dump.scm b/gnu/installer/newt/dump.scm new file mode 100644 index 0000000000..64f0d58237 --- /dev/null +++ b/gnu/installer/newt/dump.scm @@ -0,0 +1,36 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Mathieu Othacehe +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu installer newt dump) + #:use-module (gnu installer dump) + #:use-module (gnu installer newt page) + #:use-module (guix i18n) + #:use-module (newt) + #:export (run-dump-page)) + +(define (run-dump-page dump) + "Run a dump page, proposing the user to upload the crash dump to Guix +servers." + (case (choice-window + (G_ "Crash dump upload") + (G_ "Yes") + (G_ "No") + (G_ "The installer failed. Do you accept to upload the crash dump \ +to Guix servers, so that we can investigate the issue?")) + ((1) (send-dump-report dump)) + ((2) #f))) -- cgit v1.2.3