;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2020 Mathieu Othacehe ;;; Copyright © 2020 Florian Pelz ;;; ;;; 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 record) #:use-module (guix records) #:use-module (srfi srfi-1) #:export ( installer make-installer installer? installer-name installer-init installer-exit installer-exit-error installer-final-page installer-keymap-page installer-locale-page installer-menu-page installer-network-page installer-substitutes-page installer-timezone-page installer-hostname-page installer-user-page installer-partition-page installer-services-page installer-welcome-page installer-parameters-menu installer-parameters-page installer-dump-page installer-run-command installer-report-page)) ;;; ;;; Installer record. ;;; ;; The record contains pages that will be run to prompt the user ;; for the system configuration. The goal of the installer is to produce a ;; complete record and install it. (define-record-type* installer make-installer installer? ;; symbol (name installer-name) ;; procedure: void -> void (init installer-init) ;; procedure: void -> void (exit installer-exit) ;; procedure (key arguments) -> (action) (exit-error installer-exit-error) ;; procedure void -> void (final-page installer-final-page) ;; procedure (layouts context) -> (list layout variant options) (keymap-page installer-keymap-page) ;; procedure: (#:key supported-locales iso639-languages iso3166-territories) ;; -> glibc-locale (locale-page installer-locale-page) ;; procedure: (steps) -> step-id (menu-page installer-menu-page) ;; procedure void -> void (network-page installer-network-page) ;; procedure void -> void (substitutes-page installer-substitutes-page) ;; procedure (zonetab) -> posix-timezone (timezone-page installer-timezone-page) ;; procedure void -> void (hostname-page installer-hostname-page) ;; procedure void -> void (user-page installer-user-page) ;; procedure void -> void (partition-page installer-partition-page) ;; procedure void -> void (services-page installer-services-page) ;; procedure (logo #:pci-database) -> void (welcome-page installer-welcome-page) ;; procedure (menu-proc) -> void (parameters-menu installer-parameters-menu) ;; procedure (keyboard-layout-selection) -> void (parameters-page installer-parameters-page) ;; procedure (dump) -> void (dump-page installer-dump-page) ;; procedure command -> bool (run-command installer-run-command) ;; procedure (report) -> void (report-page installer-report-page)) avannah-guix-git-repo-push-url-regexp): Adjust match for a potential colon separator. * Makefile.am (GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT): Adjust. * .dir-locals.el (scheme-mode): Remove entry for with-temporary-git-worktree. * doc/contributing.texi (Updating the Guix Package): Update doc. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer 2020-10-25maint: update-guix-package: Include the git.sv.gnu.org alias....* build-aux/update-guix-package.scm (%savannah-guix-git-repo-push-url): Rename to... (%savannah-guix-git-repo-push-url-regexp): ...this. Add the 'sv' alternative to 'savannah' and the (push) suffix in the URL regexp. (find-origin-remote): Adjust accordingly. Reported-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer 2020-10-19maint: update-guix-package: Prevent accidentally breaking guix pull....Fixes <https://issues.guix.gnu.org/43893>. This changes the 'update-guix-package' tool so that it: 1. Always uses a clean checkout to compute the hash of the updated 'guix' package. 2. Ensures the commit used in the updated 'guix' package definition has already been pushed upstream. * build-aux/update-guix-package.scm (%savannah-guix-git-repo-push-url): New variable. (with-input-pipe-to-string, with-temporary-git-worktree): New syntaxes. (find-origin-remote, git-add-worktree): New procedures. (commit-already-pushed?): New predicate. (main): Check the commit used has already been pushed upstream and compute the hash from a clean checkout. * doc/contributing.texi (Updating the Guix Package): Document it. * .dir-locals.el (scheme-mode): Fix indentation of with-temporary-git-worktree. Maxim Cournoyer 2020-05-28update-guix-package: Use 'origin-hash'....* gnu/packages/package-management.scm (main): Use 'origin-hash' instead of 'origin-sha256'. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> Vincent Legoll