From patchwork Mon Oct 21 08:16:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69244 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3F0E927BBEA; Mon, 21 Oct 2024 09:18:40 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A3D6827BBE2 for ; Mon, 21 Oct 2024 09:18:39 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2nbh-0008TB-8P; Mon, 21 Oct 2024 04:17:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbc-0008Sd-MO for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:37 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nbc-0003TU-Aa for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=v7eM2uVrdoqbOUffc/yD5r848jCktjuGgc/Sjl1V6h0=; b=jMqNUQ9/DUlLe6aQTEtm0Rr3NO0fbbKGWlyg6FnY1Cg8Ky96V874q1GAQFpaijnn1fvtfKEHHemonomYyot55tFO8GSfq8Ap383qzVOzlT6Ct8p0spG4UES6zMOYnAGZWzy9N23fTcVLTEcsPs/b0JNr6qo6KHqH8p422sbVvbEDTCcc9IKxYo5+t5W9jHjrs5ge42d07+0NPk58Lc1Rj1qXLpvo0eIAC6mY+XVbL8Ms0mqfPZwT9vwqM4c6Bg4ntxUaQLbph4E/Joy6aURztvmESxE50jFlxMI7M/ledYGYLBPGWmPvmSUSMaRyr28UPRjuEehrrDRYepTwx0vCfA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nc2-0003eo-Dm for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 01/16] system: hurd: Remove qemu networking from %base-services/hurd. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949867614008 (code B ref 73927); Mon, 21 Oct 2024 08:18:02 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:17:56 +0000 Received: from localhost ([127.0.0.1]:49980 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nbv-0003dl-7s for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:17:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nbt-0003dF-1a for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:17:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbN-0003R7-BH; Mon, 21 Oct 2024 04:17:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=v7eM2uVrdoqbOUffc/yD5r848jCktjuGgc/Sjl1V6h0=; b=Vr+EUB8/t0y2ly81m9WJ 07ckGppjYWTQNMCVNLc5EbHwzXPedDUukJvzKsmp+W7KCJA7BUlHfQp+/ZVg6D5XkwZmROuzG9edl rrkiiCYSIzZ9qGmiJD9xRFBgPaSyPOQgATaWKcswux4ltL4+v5dDRj+mkf6/MFd5o7IN7+UrFMytY EgsuFKiPNuF3OAAtkmkxtPbCwTvRbhkHFiw5TjKgqhZ/OiNbYFUx1dBAxLNT5xCHhwEu/jjkfxbsB OSninNvT4LUuPhSBMrJz/s8ECuzAknI1iCMwWwn2313nE+hc3ercoHe+33VkqrLVcRv2/qLxSnN2L iVrUpx7nXoBMiQ==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:16:57 +0200 Message-ID: <1fbb300ade6667d5390dbe1a2e8e82ff4af7d1a0.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches This allows us to use %base-services/hurd for services in a Hurd config for a real machine without removing static-networking. * gnu/system/hurd.scm (%base-services/hurd): Factor networking out to... (%base-services+qemu-networking/hurd): ..this new variable. * gnu/system/examples/bare-hurd.tmpl (%hurd-os): Use it. * gnu/services/virtualization.scm (%hurd-vm-operating-system): Use it. * gnu/system/images/hurd.scm (hurd-barebones-os): Use it. Add comment about QEMU and networking for a real machine. Change-Id: I777a63410383b9bf8b5740e4513dbc1e9fb0fd41 --- gnu/services/virtualization.scm | 4 ++-- gnu/system/examples/bare-hurd.tmpl | 10 ++++++++-- gnu/system/hurd.scm | 23 ++++++++++++++--------- gnu/system/images/hurd.scm | 2 +- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index d87e494348..d33dfa6ca7 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ryan Moe ;;; Copyright © 2018, 2020-2024 Ludovic Courtès -;;; Copyright © 2020, 2021, 2023 Janneke Nieuwenhuizen +;;; Copyright © 2020, 2021, 2023, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2021 Timotej Lazar ;;; Copyright © 2022 Oleg Pykhalov ;;; Copyright © 2022 Leo Nikkilä @@ -1643,7 +1643,7 @@ (define %hurd-vm-operating-system ;; /etc/guix/acl file in the childhurd. Thus, clear ;; 'authorize-key?' so that it's not overridden at activation ;; time. - (modify-services %base-services/hurd + (modify-services %base-services+qemu-networking/hurd (guix-service-type config => (guix-configuration (inherit config) diff --git a/gnu/system/examples/bare-hurd.tmpl b/gnu/system/examples/bare-hurd.tmpl index 463c7ee798..68c6d3c166 100644 --- a/gnu/system/examples/bare-hurd.tmpl +++ b/gnu/system/examples/bare-hurd.tmpl @@ -1,7 +1,7 @@ ;; -*-scheme-*- ;; This is an operating system configuration template -;; for a "bare bones" setup, with no X11 display server. +;; for a "bare bones" QEMU setup, with no X11 display server. ;; To build a disk image for a virtual machine, do ;; @@ -54,6 +54,12 @@ (permit-root-login #t) (allow-empty-passwords? #t) (password-authentication? #t))) - %base-services/hurd)))) + ;; For installing on a real (non-QEMU) machine, use: + ;; (static-networking-service-type + ;; (list %loopback-static-networking + ;; (static-networking + ;; ...))) + ;; %base-services/hurd + %base-services+qemu-networking/hurd)))) %hurd-os diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 6d6a20cf57..283bae6f10 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020-2024 Ludovic Courtès -;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen +;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,6 +47,7 @@ (define-module (gnu system hurd) #:use-module (gnu system vm) #:export (%base-packages/hurd %base-services/hurd + %base-services+qemu-networking/hurd %hurd-default-operating-system %hurd-default-operating-system-kernel %setuid-programs/hurd)) @@ -79,14 +80,6 @@ (define %base-packages/hurd (define %base-services/hurd (append (list (service hurd-console-service-type (hurd-console-configuration (hurd hurd))) - (service static-networking-service-type - (list %loopback-static-networking - - ;; QEMU user-mode networking. To get "eth0", you need - ;; QEMU to emulate a device for which Mach has an - ;; in-kernel driver, for instance with: - ;; --device rtl8139,netdev=net0 --netdev user,id=net0 - %qemu-static-networking)) (service guix-service-type (guix-configuration (extra-options '("--disable-chroot" @@ -102,6 +95,18 @@ (define %base-services/hurd (tty (string-append "tty" (number->string n)))))) (iota 6 1)))) +(define %base-services+qemu-networking/hurd + (cons + (service static-networking-service-type + (list %loopback-static-networking + + ;; QEMU user-mode networking. To get "eth0", you need + ;; QEMU to emulate a device for which Mach has an + ;; in-kernel driver, for instance with: + ;; --device rtl8139,netdev=net0 --netdev user,id=net0 + %qemu-static-networking)) + %base-services/hurd)) + (define %setuid-programs/hurd ;; Default set of setuid-root programs. (map file-like->setuid-program diff --git a/gnu/system/images/hurd.scm b/gnu/system/images/hurd.scm index 9b618f7dc6..01c422a54f 100644 --- a/gnu/system/images/hurd.scm +++ b/gnu/system/images/hurd.scm @@ -60,7 +60,7 @@ (define hurd-barebones-os (permit-root-login #t) (allow-empty-passwords? #t) (password-authentication? #t))) - %base-services/hurd)))) + %base-services+qemu-networking/hurd)))) (define hurd-initialize-root-partition #~(lambda* (#:rest args) From patchwork Mon Oct 21 08:16:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69241 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 77ED227BBE2; Mon, 21 Oct 2024 09:18:23 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 457F427BBE2 for ; Mon, 21 Oct 2024 09:18:23 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2nbh-0008Th-QR; Mon, 21 Oct 2024 04:17:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbd-0008Se-Bi for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:37 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nbd-0003Te-2N for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=TNN0Ow3iD7zTh7azvqMR1RfzrzfwuCtHf1IWqIlICcA=; b=Zqx0naT62cJ6sBCYUyXEBwHd0YibcWUvdKXShkP31kDGhmF98IaXpYPXtH5ItHxIj67V1u0Y34/uTA01PjPU8sA0vEOznsmHYfT3DDE5lCxBh9tZIK7Vt11cU1OSymjmsp58ySN7aH5oTKPOAQzkyLPdyLma6+S9ZPBL1Nlv7jKliRwUFihfLfWRN5OC40HsZ7bBR6q4iflTV1mDI9ZoGWyCV/JCVeDG08sXL82SlSX8xpz0eBJb2JcUI79bQWhtGq/0lWiwfO5lL9DWYADuWrBYc0ZuKYemuIkxaRY/qqib+E0+BEWacZnUHqJgMNWs9F0lNamowhrWilTznAH0JQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nc3-0003f4-5P for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 02/16] gnu: hurd: Support system init in /libexec/runsystem. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:18:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949867614015 (code B ref 73927); Mon, 21 Oct 2024 08:18:03 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:17:56 +0000 Received: from localhost ([127.0.0.1]:49984 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nbv-0003dt-S7 for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:17:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42852) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nbt-0003dG-NT for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:17:54 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbO-0003RD-6j; Mon, 21 Oct 2024 04:17:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=TNN0Ow3iD7zTh7azvqMR1RfzrzfwuCtHf1IWqIlICcA=; b=jKkxawrMXt4AY28fzTnH 1bf8cj8Leo3Pd+8IvOsW9KiDOR2Y6WGObRdZwEVu7OUa5ptBcWOlh+YFg5NNbMbrzQkoHd7+uRt74 E3BrKOH8wxAOOgilkXordUVghQdVdvxyJC9rpb9a1KBPMMdHvS7CewI6+GvCIx4SK/Ygs5XxcPjT+ l7/nTE+jJKR5iJ+TLI39Ne5q4+kFbcl4s0JFfjpIJoeIFRJoxDljYs+B+RxA8w8SMUvK4Uo/LVBJn NL64Ps69z3HHU5OjNqP1+ITZO4v9PYcj+bF0GRbbXH4TDrWw5zjdZTJwLWp2UjCVfsCFwWkMORocd otzGXvoYC54IZw==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:16:58 +0200 Message-ID: <2039eeef57770f39c2927ab566915f304cb659b1.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches This is the first step to support booting after guix system init, which does not create /servers. * gnu/packages/hurd.scm (hurd)[arguments]: In stage create-runsystem, do not assume /servers/socket/ exists, remove any existing /servers/socket/1. Change-Id: Ib61af08dd7b9c5659c938697671f69908bb7e20f --- gnu/packages/hurd.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 3d2a37a1e2..e6ea920714 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -383,6 +383,8 @@ (define-public hurd fsck --yes --force / fsysopts / --writable +mkdir -p /servers/socket +rm -f /servers/socket/1 # Note: this /hurd/ gets substituted settrans --create /servers/socket/1 /hurd/pflocal From patchwork Mon Oct 21 08:16:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69239 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 8FAB527BBEA; Mon, 21 Oct 2024 09:18:10 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 44F7E27BBE2 for ; Mon, 21 Oct 2024 09:18:10 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2nbk-0008Uk-9y; Mon, 21 Oct 2024 04:17:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbe-0008Sr-JU for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:39 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nbe-0003Ts-4O for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=2h3AZ2GYfpsfmFYkj1YKl19ZlMJil0xENzRQ2EUkp2I=; b=ZtAKIVzRPQffi67V0rMT4t4aKpDm7LX8gt/+vwKmG57wg5Ry7gNHVSedWbXRaZNJ57fAZXCjgp6HJy1xabG827ye2HOiSqglIYSgU9Gup+p0MoN8YPbVd93v/Yw0KsKYaLLMePVxITGewgr93SF4dEcsapEU82lAv5idR9d/9td3MpXpW96CKF+SL1b1bR0ar0XmYbZK2TNyJCexrgR3oSawKHUhuwIEn6lBYbaAd9WLq+fGW0SROzuhzRGr4+iyCkentmrVyPtjDIMouEmnpYzpcb6Br2ow4dK90fPIOuGw6JT29/gvovCNkDP/RdiXJZ5pcuascP+vU6vj6k7hlQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nc4-0003fU-7z for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 03/16] hurd-boot: Support system init: Create essential device nodes. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:18:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949868114055 (code B ref 73927); Mon, 21 Oct 2024 08:18:04 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:01 +0000 Received: from localhost ([127.0.0.1]:49994 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc1-0003eW-8O for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42854) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nbu-0003dL-Ly for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:17:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbO-0003RN-Vo; Mon, 21 Oct 2024 04:17:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=2h3AZ2GYfpsfmFYkj1YKl19ZlMJil0xENzRQ2EUkp2I=; b=RH1WAS2UEP7qMDbslix/ BnZ1nitDFyxwVrwLuZjWspPOfmUSxjxZpw87WlRtlD34cEE0ZiZA0fi1BRccMueSjNQCw7yRW6jEG dEVL8t+MCOTgSfaSgOksx8LKHe5kux7Eo/gYFnUO3q3ToSwmkohumc+xhwYcAB/LEelpCPZaZdDiq KYBGmZBBjTKZviBAhf7nTg9ljB4nr+5zeTVrW7H+bm1N+1qt7vNDohCRubk7t6x2iTcepOFtAwm79 4LdEkCiiDCRFEF+/uOpGTzaZ8b71cMFgWcJS7zXWtvxmJSJ6c7j0512jTnZRFR6Tt5wEx8n+pYhbD 34KCFZaxb4pO0Q==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:16:59 +0200 Message-ID: <2cebd1cf836781f4330a223a890f6d1d60879913.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/build/hurd-boot.scm (make-hurd-device-nodes): Cater for existing directories (dev, servers). (set-hurd-device-translators): Remove /servers/socket/1, that is created by libexec/console-run. Cater for nonexistent /dev/console. (boot-hurd-system): Call make-hurd-device-nodes on initial run. --- gnu/build/hurd-boot.scm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm index 4407284acb..daf4fb41ab 100644 --- a/gnu/build/hurd-boot.scm +++ b/gnu/build/hurd-boot.scm @@ -79,13 +79,13 @@ (define* (make-hurd-device-nodes #:optional (root "/")) (define (scope dir) (string-append root (if (string-suffix? "/" root) "" "/") dir)) - (mkdir (scope "dev")) + (mkdir-p (scope "dev")) ;; Don't create /dev/null etc just yet; the store ;; messes-up the permission bits. ;; Don't create /dev/console, /dev/vcs, etc.: they are created by ;; console-run on first boot. - (mkdir (scope "servers")) + (mkdir-p (scope "servers")) (for-each (lambda (file) (call-with-output-file (scope (string-append "servers/" file)) (lambda (port) @@ -100,7 +100,8 @@ (define* (make-hurd-device-nodes #:optional (root "/")) "kill" "suspend")) - (mkdir (scope "servers/socket")) + (mkdir-p (scope "servers/socket")) + ;; Don't create /servers/socket/1 & co: runsystem does that on first boot. ;; TODO: Set the 'gnu.translator' extended attribute for passive translator @@ -279,7 +280,8 @@ (define* (set-hurd-device-translators #:optional (root "/")) (for-each scope-set-translator servers) (mkdir* "dev/vcs/1") (mkdir* "dev/vcs/2") - (rename-file (scope "dev/console") (scope "dev/console-")) + (when (file-exists? (scope "dev/console")) + (rename-file (scope "dev/console") (scope "dev/console-"))) (for-each scope-set-translator devices) (false-if-EEXIST (symlink "/dev/random" (scope "dev/urandom"))) @@ -326,6 +328,10 @@ (define* (boot-hurd-system #:key (on-error 'debug)) (let ((hurd/hurd (readlink* (string-append system "/profile/hurd")))) (symlink hurd/hurd "/hurd")) + (unless (file-exists? "/servers/startup") + (format #t "Creating essential device nodes...\n") + (make-hurd-device-nodes)) + (format #t "Setting-up essential translators...\n") (setenv "PATH" (string-append system "/profile/bin")) (set-hurd-device-translators) From patchwork Mon Oct 21 08:17:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69238 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id BD45627BBEA; Mon, 21 Oct 2024 09:18:05 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8A83427BBE2 for ; Mon, 21 Oct 2024 09:18:04 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2nbk-0008V4-KZ; Mon, 21 Oct 2024 04:17:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbf-0008T1-GN for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:39 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nbf-0003U6-5v for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=yMt0KWvaTQ06WRle/LemMGvmXY6f4LS32lTrlbg0AxA=; b=A3MHAYV5uM2ewCoCwXpkbjdNM4+tQ3Y7DYTouPtMSd0EHbbJnEkkqTdShBoU3z866SyP05KN0EyHMfLNZnTQg0EEANdkSfitscP8mAhKWwXF0ZwtphGZCKHkuZvI9HG58acGFA/TXeZT6tRX86yMVO9cAIZZHemzFRFzqPi0yU+W1PuDYI8jlFHnZ2OhahHJV+fadSArTDEM643teCWhWELdojFaq8Ql3i5hsIKimQ/uEp6dEvaI7SXHdzeU7XP036jAt5cQSSUH7fadTLaQEdQMEGXESMeCI653vCkA9eXqnm++uaCkLWa9XVysqOfhTjp24FekX5G6ThjCT0KSAw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nc5-0003fw-9k for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 04/16] system: hurd: Add swap-services to hurd-default-essential-services. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:18:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949868214069 (code B ref 73927); Mon, 21 Oct 2024 08:18:05 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:02 +0000 Received: from localhost ([127.0.0.1]:49996 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc1-0003ee-PZ for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42860) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nbv-0003dN-8j for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:17:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbP-0003RV-Oi; Mon, 21 Oct 2024 04:17:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=yMt0KWvaTQ06WRle/LemMGvmXY6f4LS32lTrlbg0AxA=; b=BEE1fMiwV+liYCITkl6W q5MM2t6FjVpAaUP94tb/R44QLHH7RV5BIfiMlf4INUvYq2pG61LKuflLIowB1Uqm7gwoV+84V5F6T HdtCoXtQMCSNc+KLkkooZS34hxpRMDfSKVkO9KrhFNm89Mm5WrwOEygwtN4CTrWWwyjpPJVtI/34J 9dp3T7irLzVmmoyLgSu/UKf8I19xHZWMZ/YdxkPeen7WTGYWBHqXXFRCzz1IRIbwpoLNJ8vNoR1xl q0qPV/CVvksccx43GIBkQHi+JcogODfx/JLIRWMz7XmYVL+GFBEGdAY/WwhywxeDSw1LpelYdewNQ kvvic9Zkl71DWg==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:00 +0200 Message-ID: <6e79215c38d44fdae872be726901363d8145317e.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/services/base.scm (swap-service-type): Do not include 'udev' requirement for the Hurd. Use system* with "swapon", "swapoff" for the Hurd. * gnu/system.scm (hurd-default-essential-services): Add swap-services. * gnu/services/base.scm (swap-service-type): --- gnu/services/base.scm | 20 +++++++++++++------- gnu/system.scm | 13 +++++++------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 819d063673..7c50bc45b1 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -43,6 +43,7 @@ (define-module (gnu services base) #:autoload (guix diagnostics) (warning formatted-message &fix-hint) #:autoload (guix i18n) (G_) #:use-module (guix combinators) + #:use-module (guix utils) #:use-module (gnu services) #:use-module (gnu services admin) #:use-module (gnu services shepherd) @@ -2644,7 +2645,7 @@ (define swap-service-type (with-imported-modules (source-module-closure '((gnu build file-systems))) (shepherd-service (provision (list (swap->shepherd-service-name swap))) - (requirement `(udev ,@requirements)) + (requirement `(,@(if (target-hurd?) '() '(udev)) ,@requirements)) (documentation "Enable the given swap space.") (modules `((gnu build file-systems) ,@%default-modules)) @@ -2652,16 +2653,21 @@ (define swap-service-type (let ((device #$device-lookup)) (and device (begin - (restart-on-EINTR (swapon device - #$(if (swap-space? swap) - (swap-space->flags-bit-mask - swap) - 0))) + #$(if (target-hurd?) + #~(system* "swapon" device) + #~(restart-on-EINTR + (swapon device + #$(if (swap-space? swap) + (swap-space->flags-bit-mask + swap) + 0)))) #t))))) (stop #~(lambda _ (let ((device #$device-lookup)) (when device - (restart-on-EINTR (swapoff device))) + #$(if (target-hurd?) + #~(system* "swapoff" device) + #~(restart-on-EINTR (swapoff device)))) #f))) (respawn? #f)))) (description "Turn on the virtual memory swap area."))) diff --git a/gnu/system.scm b/gnu/system.scm index 44f93f91d1..187a72cbf5 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -843,11 +843,11 @@ (define (hurd-default-essential-services os) (let ((host-name (operating-system-host-name os)) (hosts-file (%operating-system-hosts-file os)) (entries (operating-system-directory-base-entries os))) - (list (service system-service-type entries) - %boot-service - %hurd-startup-service - %activation-service - (service shepherd-root-service-type) + (cons* (service system-service-type entries) + %boot-service + %hurd-startup-service + %activation-service + (service shepherd-root-service-type) (service user-processes-service-type) (account-service (append (operating-system-accounts os) @@ -869,7 +869,8 @@ (define (hurd-default-essential-services os) (service privileged-program-service-type (append (operating-system-privileged-programs os) (operating-system-setuid-programs os))) - (service profile-service-type (operating-system-packages os))))) + (service profile-service-type (operating-system-packages os)) + (swap-services os)))) (define* (operating-system-services os) "Return all the services of OS, including \"essential\" services." From patchwork Mon Oct 21 08:17:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69242 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 536F827BBE9; Mon, 21 Oct 2024 09:18:24 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 645EB27BBEA for ; Mon, 21 Oct 2024 09:18:23 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2nbi-0008UD-SJ; Mon, 21 Oct 2024 04:17:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbg-0008T9-9M for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:41 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nbg-0003UN-0W for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=cFlfQPLePxiRCJ17PHs/L4hugLMsDx0bKdh7Px1a19g=; b=JsCzIrlOE6IxzNLrTWEGEG3PX7j13CklMU8aSrtFsGPkRWs0GvkZCxv1azhUrN1A7e/iUF2MwCnTja9UtRgogY7MZz443kDEun7TPsvLzPPXq+PVPHPEYjF+J71PEONWwUQZAtkF8g3jAtTVLNSBCx9F3yAqmC2rM5TeB/P2nANdHWgmg7TrSWlb07xay02BqDQg47vbN65/iFMDI1BPhGTfs1f/j84AUCva9IRz/KNixLPF8UaZLvJ1rz4Ju76AfI9jeUWKez8S+zyEDAIH3pSBfoOGvPfHo2fqvUXJqvDuuSOB7U+irUNdZUoR7UihLvZQ6ckK93wL/Nx1biZpwg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nc6-0003g8-52 for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 05/16] gnu: hurd: Support second boot. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:18:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949868314094 (code B ref 73927); Mon, 21 Oct 2024 08:18:06 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:03 +0000 Received: from localhost ([127.0.0.1]:50000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc2-0003es-Ei for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42862) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nbw-0003dP-AI for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:17:56 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbQ-0003Rd-Pw; Mon, 21 Oct 2024 04:17:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=cFlfQPLePxiRCJ17PHs/L4hugLMsDx0bKdh7Px1a19g=; b=VnJlFOrY+m2EJU5gQFzx mOCSDp5q2JU9Wh25iZlpmHmzimPrTAuuhplk18aEhHlAQg0YnrhWv74GV6Elq2jeF0+0mMeM0Cd8V hBCDMedR3vInolPb7h23PMjnbJ8rTaA8BWEFgcxRMJAC/d3V6tGU86GgXbG2LNcYa2fGLFOCzXpIQ DRq8/Cf3+v16Iz/Malx5TxcAxYFHHcMTepnO5spCbuFM97Ql/NabKUdAPjfLa4hQTFW7ovAdyS9A3 WCqIHFErYSRE9zDAncmc7IvNByW7X79jGgVnBn36AxCLrl7Ba0qwW+9bGELyj+AvaVEXsbE5oW2Se fZoevTZ5i+3esw==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:01 +0200 Message-ID: <0317244532bcd84c82c943080363025c710fa7aa.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches This avoids hanging upon second boot and ensures a declarative /hurd and /dev. * gnu/packages/patches/hurd-startup.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/hurd.scm (hurd): Use it. [arguments]: In stage create-runsystem remove /dev/urandom. Change-Id: Ifcca5562c297204735c35132820a32ca0f273677 --- gnu/local.mk | 1 + gnu/packages/hurd.scm | 6 +- gnu/packages/patches/hurd-startup.patch | 82 +++++++++++++++++++++++++ 3 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/hurd-startup.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5d1b316aa3..6d0c20f5be 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1538,6 +1538,7 @@ dist_patch_DATA = \ %D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hueplusplus-mbedtls.patch \ %D%/packages/patches/hurd-rumpdisk-no-hd.patch \ + %D%/packages/patches/hurd-startup.patch \ %D%/packages/patches/hwloc-1-test-btrfs.patch \ %D%/packages/patches/i7z-gcc-10.patch \ %D%/packages/patches/icecat-makeicecat.patch \ diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index e6ea920714..9c1681f236 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -317,7 +317,8 @@ (define-public hurd (name "hurd") (source (origin (inherit (package-source hurd-headers)) - (patches (search-patches "hurd-rumpdisk-no-hd.patch")))) + (patches (search-patches "hurd-rumpdisk-no-hd.patch" + "hurd-startup.patch")))) (version (package-version hurd-headers)) (arguments `(#:tests? #f ;no "check" target @@ -388,6 +389,9 @@ (define-public hurd # Note: this /hurd/ gets substituted settrans --create /servers/socket/1 /hurd/pflocal +# Upon second boot, (file-exists? /dev/null) in hurd-boot-system hangs unless: +rm -f /dev/urandom + # parse multiboot arguments for i in \"$@\"; do case $i in diff --git a/gnu/packages/patches/hurd-startup.patch b/gnu/packages/patches/hurd-startup.patch new file mode 100644 index 0000000000..0b0dcc9537 --- /dev/null +++ b/gnu/packages/patches/hurd-startup.patch @@ -0,0 +1,82 @@ +This avoids hanging upon second boot and ensures a declarative /dev. + +Upstream status: Not presented upstream. + +From a15d281ea012ee360c45376e964d35f6292ac549 Mon Sep 17 00:00:00 2001 +From: Janneke Nieuwenhuizen +Date: Sat, 27 May 2023 17:28:22 +0200 +Subject: [PATCH] startup: Remove /hurd, /dev, create /servers. + +This avoids hanging upon second boot and ensures a declarative /hurd +and /dev. + +* startup/startup.c (rm_r, create_servers): New functions. +(main): Use them to remove /dev and create /servers. Remove /hurd +symlink. +--- + startup/startup.c | 42 ++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 42 insertions(+) + +diff --git a/startup/startup.c b/startup/startup.c +index feb7d265..5f380194 100644 +--- a/startup/startup.c ++++ b/startup/startup.c +@@ -732,6 +732,42 @@ parse_opt (int key, char *arg, struct argp_state *state) + return 0; + } + ++#include ++static int ++rm_r (char const *file_name) ++{ ++ int callback (char const *file_name, struct stat64 const *stat_buffer, ++ int type_flag, struct FTW *ftw_buffer) ++ { ++ fprintf (stderr, "startup: removing: %s\n", file_name); ++ return remove (file_name); ++ } ++ ++ return nftw64 (file_name, callback, 0, FTW_DEPTH | FTW_MOUNT | FTW_PHYS); ++} ++ ++void ++create_servers (void) ++{ ++ char const *servers[] = { ++ "/servers/startup", ++ "/servers/exec", ++ "/servers/proc", ++ "/servers/password", ++ "/servers/default-pager", ++ "/servers/crash-dump-core", ++ "/servers/kill", ++ "/servers/suspend", ++ 0, ++ }; ++ mkdir ("/servers", 0755); ++ for (char const **p = servers; *p; p++) ++ open (*p, O_WRONLY | O_APPEND | O_CREAT, 0444); ++ mkdir ("/servers/socket", 0755); ++ mkdir ("/servers/bus", 0755); ++ mkdir ("/servers/bus/pci", 0755); ++} ++ + int + main (int argc, char **argv, char **envp) + { +@@ -741,6 +777,12 @@ main (int argc, char **argv, char **envp) + mach_port_t consdev; + struct argp argp = { options, parse_opt, 0, doc }; + ++ /* GNU Guix creates fresh ones in boot-hurd-system. */ ++ unlink ("/hurd"); ++ rm_r ("/dev"); ++ mkdir ("/dev", 0755); ++ create_servers (); ++ + /* Parse the arguments. We don't want the vector reordered, we + should pass on to our child the exact arguments we got and just + ignore any arguments that aren't flags for us. ARGP_NO_ERRS +-- +2.40.1 + From patchwork Mon Oct 21 08:17:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69243 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 15A3527BBEA; Mon, 21 Oct 2024 09:18:37 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id CDF1B27BBE2 for ; Mon, 21 Oct 2024 09:18:36 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2nbl-0008VL-8W; Mon, 21 Oct 2024 04:17:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbh-0008TJ-34 for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:41 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nbg-0003UV-Qb for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=jHaKbg4o/jE+GpBXlbLJ5PGb1IQGQgzbQVVHRqpqhLg=; b=jSTBr8isJOGkEJIRsHiTVa7nKUOlKGXu4He32Nxsj4vabu0vrzLWdRSz3mvclSd0e9rfB8iovXKavZcWm6X+x8ocGmkt3gFi4Lix3FMvTQIy+xu/ZVQ7dAiMoh2qW24yjaryWcumqU6W0uofmS6gMhvJSayiIrvsGV4M1NrErA7mxYK9YrzEOm9iEDyOOrH+mMSUEmNMSuEcCUpMTTcOpqVSle1cmZsTtsBi4E9vYvR+Ub1awcmxFJ2kGNm9mVr1GY9ICl/674oykYEp+zFiqlC4WRucUcvcyCqQP21ZY87TYZZ6o9TTdlCSwZRJCbOAvGcsmeuk0H8pwwPE6iiGBg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nc6-0003gL-Vf for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:07 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 06/16] hurd-boot: Support second boot. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:18:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949868414112 (code B ref 73927); Mon, 21 Oct 2024 08:18:06 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:04 +0000 Received: from localhost ([127.0.0.1]:50006 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc3-0003fG-Gc for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:04 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42864) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nbx-0003dQ-8j for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:17:57 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbR-0003Rm-Lf; Mon, 21 Oct 2024 04:17:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=jHaKbg4o/jE+GpBXlbLJ5PGb1IQGQgzbQVVHRqpqhLg=; b=MkdunvxaPtTtpHGONjiq N2pYX53WTk69aznukpYgWZpJMYc7D6SV9w1N+OTFuEPVK8c44MBHjgZW+fB2b7RvtpPE+qlmPydAB cpFZyUuRVvIXtb1JVPxOu4C11OyULrghpdOFFl31gwDvEkzCpO+5yALKAOv55nr/ZOYxmAPZZM+Oh z3ZeBgCaUuGI/PR0kNNECl22Jz8H0lGamhiz6gub44cxy8AQM4C8Kufvxr4Z+k8dZ8UOVXCq9hF4V KEaZSa0k1K866QkNsr3wJauIbWcX5MHY3XsBGorJIMyCENTFoVY+bGCjuPt2RHSZqnKC4sSLkZg3K jDGGTU6qRsOsQw==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:02 +0200 Message-ID: <26625af5d6dbd20fd7cfbbe36dcc2b3cfd01a0d3.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/build/hurd-boot.scm (boot-hurd-system): Check for stale shepherd socket and remove it. Be chattier about /hurd symlink replacement. Change-Id: I5e528c131ebeadb7ebc9727336a0f9301af3e68e --- gnu/build/hurd-boot.scm | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm index daf4fb41ab..23ace25d4f 100644 --- a/gnu/build/hurd-boot.scm +++ b/gnu/build/hurd-boot.scm @@ -322,18 +322,29 @@ (define* (boot-hurd-system #:key (on-error 'debug)) (let* ((args (command-line)) (system (find-long-option "gnu.system" args)) - (to-load (find-long-option "gnu.load" args))) + (to-load (find-long-option "gnu.load" args)) + (profile (string-append system "/profile")) + (bin (string-append profile "/bin")) + (sbin (string-append profile "/bin"))) - (false-if-exception (delete-file "/hurd")) - (let ((hurd/hurd (readlink* (string-append system "/profile/hurd")))) - (symlink hurd/hurd "/hurd")) + (setenv "PATH" (string-append bin ":" sbin)) + + (when (file-exists? "/var/run/shepherd/socket") + (format #t "Removing stale shepherd socket...\n") + (delete-file "/var/run/shepherd/socket")) (unless (file-exists? "/servers/startup") (format #t "Creating essential device nodes...\n") (make-hurd-device-nodes)) + (let ((profile/hurd (readlink* (string-append profile "/hurd")))) + (when (file-exists? "/hurd") + (format #t "Removing stale /hurd link\n") + (delete-file "/hurd")) + (format #t "Linking /hurd from ~a...\n" profile/hurd) + (symlink profile/hurd "/hurd")) + (format #t "Setting-up essential translators...\n") - (setenv "PATH" (string-append system "/profile/bin")) (set-hurd-device-translators) (format #t "Starting pager...\n") From patchwork Mon Oct 21 08:17:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69240 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 297D627BBEA; Mon, 21 Oct 2024 09:18:18 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id F2AF127BBE2 for ; Mon, 21 Oct 2024 09:18:17 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2nbj-0008UO-4f; Mon, 21 Oct 2024 04:17:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbh-0008Tc-OE for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:41 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nbh-0003Ud-FY for guix-patches@gnu.org; Mon, 21 Oct 2024 04:17:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=P0PHZ7Z+mClmqxZMoGyaY70WFWhoB6kPXaCkEj9nTZg=; b=a2b8j05bhX+VL8H0/UcOKscESV6HtHuiW3UOwXuTC/8xnpbZy26bkntMdblFwGczGepAB6BMXKJNToPKpzRTy+hf60GkfVYm6QbV91oU7mn5oroJiURi58rNErZjh1JQZTlrLtHE7vxYCBphb2cS/ojuXwTDA3de9Vm8jIEMeOq/w38zSsXbnGlq+0RR/pwJ4j0SeOVCb3+xiNhDsgg5/+TwGIEpiOOG/R7f+Fie9gbQdazd5tZr5U0V+I8DMU0yrGFxAoPIXNsX3rIgQKY2kMQyQI+rD+7eTA/D06WBvxbLnwA/edTOqe6VNzj1913w9G9RB7iDXRE4jX+f09EI8g==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nc7-0003gS-KM for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:07 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 07/16] maint: Add installer dependencies to the manifest. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:18:07 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949868514128 (code B ref 73927); Mon, 21 Oct 2024 08:18:07 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:05 +0000 Received: from localhost ([127.0.0.1]:50008 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc4-0003fY-Aj for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:04 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42866) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nby-0003dS-7E for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:17:58 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbS-0003Rw-NQ; Mon, 21 Oct 2024 04:17:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=P0PHZ7Z+mClmqxZMoGyaY70WFWhoB6kPXaCkEj9nTZg=; b=iCfvt0E2EpG0+Z6w296y TeCgXYwWgUjvdtEQKZpx0W7TDbCHMLcBBELoODiE59htP8ebwt5as0gYJHrxIzJsNjdfrYBNOW/mQ HFOe+HKK5Xr2h+MsDxlzd2pezQZ/RLnmWfAEeLAQIpfNesy/vwhKYrsq8wMNKQzpp5uWedgZ84hOG upKRCTkvWAGBUAX+FkWT6/Y+rrfnsXnDQgIeTWmWtegnqQJ8BVPXly4qm29saTW0wAgzABvK+yfyh 6L++zgc2nIqnfLNNeobjuazN/LlAkXCRwGCFbPWIRRia+jkYM4KD26/brDjwz/94bX/jQ2EvfvL/d U/dlVoSjGLu8qg==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:03 +0200 Message-ID: X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * manifest.scm: Add guile-newt, guile-parted, guile-webutils. Change-Id: Idcf46320d29c15f36da05f66e81b7779e37c1bf6 --- manifest.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/manifest.scm b/manifest.scm index 27e1d62566..ccd6268461 100644 --- a/manifest.scm +++ b/manifest.scm @@ -51,4 +51,9 @@ "mumi" "nss-certs" "openssl" ;required if using 'smtpEncryption = tls' - "patman")))) + "patman")) + ;; For installer + (specifications->manifest + (list "guile-newt" + "guile-parted" + "guile-webutils")))) From patchwork Mon Oct 21 08:17:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69250 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9547727BBE9; Mon, 21 Oct 2024 09:19:07 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8C0C627BBE2 for ; Mon, 21 Oct 2024 09:19:06 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2ncd-0000TJ-EN; Mon, 21 Oct 2024 04:18:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2ncc-0000RT-FY for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:38 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nca-0003Yu-Tf; Mon, 21 Oct 2024 04:18:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=yK00Fpp7FvviPVDnKSLTliUmQx+JHOKJWcurU/NILrU=; b=kSFhKRHNiboUjKnt5MkPnIIB/tCJFJ3v/MFW4mbTuB7C7sdFDm0yemHgaDqicOFu1EpI7i8FhOa9T4L6WolkzVo8kWHr2FXbsll8nRdjIwYAI3+fK4OxYryyZf50xTQnlqlQjB0ywI7zTpNrq97FBQ+XAnOlHDaFqanJg8iwZTprvvT3Mbu47tG0zl8bZT8OIPM+oos0UT4Gs0n2CNIASmYg/mK9eKekVhDgQwHDvC+FNkLm27PkJw1U0q8kQ3J/FoUyKwgixLBIB6m7ompRh63WQi1aGZvhXX9/pkUCDSYH192Rz8Yo7DY/dsLMxcO5c0vc1ultF6YQybbH+P+Yow==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nd1-0003jL-1t; Mon, 21 Oct 2024 04:19:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 08/16] installer: Remove unused (newt) imports. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:19:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Cc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe X-Debbugs-Original-Xcc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949869814225 (code B ref 73927); Mon, 21 Oct 2024 08:19:03 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:18 +0000 Received: from localhost ([127.0.0.1]:50029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncH-0003hG-Eu for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42870) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nbz-0003de-7Z for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:03 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbT-0003S3-NH; Mon, 21 Oct 2024 04:17:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=yK00Fpp7FvviPVDnKSLTliUmQx+JHOKJWcurU/NILrU=; b=jN7RU7HVL+BeP1lOHkd0 kBXNdoCMcnebEQibrVY73RvJyQLeX/AlUkGZv0sFDr+ZTYij+90Plhj06S36zXjtDl/1dSgEwGmd2 fnKefOmUlrFo/i/6N+fZMAJ7k3iLvubslbEjhfZbjEaSnWiauvAkCLUFSuMj46vCbsBGNHs83JjGl hoBoBF863dWf3gviFqOgXSZZCeFCSustrLi7PsQ2IwjU/3145dB0xE2wzlL2r7kdFSPPGRO73P0da kohdu9BASM3TckNsN+nKMuxg5+QHOTPEgq2KtAcavBIRBDv+PupsSB6c+fCFH5fCRksK1DsFx7eQR EBF/XgrzML6T5Q==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:04 +0200 Message-ID: <8746be641d712c99f14991b084649659ba384aa6.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/installer/newt/ethernet.scm, gnu/installer/newt/keymap.scm, gnu/installer/newt/locale.scm, gnu/installer/newt/parameters.scm, gnu/installer/newt/services.scm: Remove (newt). Change-Id: Ia6624aaf73491024da54b8ffee7358941b187fdf --- gnu/installer/newt/ethernet.scm | 1 - gnu/installer/newt/keymap.scm | 1 - gnu/installer/newt/locale.scm | 1 - gnu/installer/newt/parameters.scm | 1 - gnu/installer/newt/services.scm | 1 - 5 files changed, 5 deletions(-) diff --git a/gnu/installer/newt/ethernet.scm b/gnu/installer/newt/ethernet.scm index d75a640519..53e440fd60 100644 --- a/gnu/installer/newt/ethernet.scm +++ b/gnu/installer/newt/ethernet.scm @@ -27,7 +27,6 @@ (define-module (gnu installer newt ethernet) #:use-module (ice-9 match) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) - #:use-module (newt) #:export (run-ethernet-page)) (define (ethernet-services) diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm index c5d4be6792..109ec55e0a 100644 --- a/gnu/installer/newt/keymap.scm +++ b/gnu/installer/newt/keymap.scm @@ -24,7 +24,6 @@ (define-module (gnu installer newt keymap) #:use-module (gnu installer newt page) #:use-module (guix i18n) #:use-module (guix records) - #:use-module (newt) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) diff --git a/gnu/installer/newt/locale.scm b/gnu/installer/newt/locale.scm index 01171e253f..a226b39ba6 100644 --- a/gnu/installer/newt/locale.scm +++ b/gnu/installer/newt/locale.scm @@ -22,7 +22,6 @@ (define-module (gnu installer newt locale) #:use-module (gnu installer steps) #:use-module (gnu installer newt page) #:use-module (guix i18n) - #:use-module (newt) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) diff --git a/gnu/installer/newt/parameters.scm b/gnu/installer/newt/parameters.scm index 8fb1aa3abb..7c61266e4d 100644 --- a/gnu/installer/newt/parameters.scm +++ b/gnu/installer/newt/parameters.scm @@ -23,7 +23,6 @@ (define-module (gnu installer newt parameters) #:use-module (guix build syscalls) #:use-module (guix i18n) #:use-module (ice-9 match) - #:use-module (newt) #:export (run-parameters-page)) (define (run-proxy-page) diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm index b22024602c..d1035b6524 100644 --- a/gnu/installer/newt/services.scm +++ b/gnu/installer/newt/services.scm @@ -28,7 +28,6 @@ (define-module (gnu installer newt services) #:use-module (guix i18n) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) - #:use-module (newt) #:export (run-services-page)) (define (run-desktop-environments-cbt-page) From patchwork Mon Oct 21 08:17:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69251 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2504627BBEA; Mon, 21 Oct 2024 09:19:14 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id DEDF927BBE2 for ; Mon, 21 Oct 2024 09:19:13 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2ncd-0000SV-5X; Mon, 21 Oct 2024 04:18:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2ncc-0000RQ-AC for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:38 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nca-0003Ys-Ca; Mon, 21 Oct 2024 04:18:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=o//sxzi7UsEAJ8SJ0uGFJbDjqXm2SNbLKOgriJMAJug=; b=qHCDpivudbhwKCm3a3ouHGknMsT8e+DuktxiOlW7A6PWLPQY6mNIWdNQNU+UwbeI1SCS/ZrvrXRV5lWHlBVS4jKYkgApMh0zziEEBLmTLv+3U1o+Lm096wMKcKbPDh5CEDNeqzSvkc12wcghBGD7QmukusrvSUt75YewYsE8v8RhZ6LWxQpFPult4xIDlAZUcJFlRlxGZRAtEafLNzZMmMN1I5t48LEOSgtiMXW3XJ32740JjOL76LmWJxNpKFyNDWYJwPQvJT9Y9ErUCjeunorsm7vQ9uyaPKcY+EnZLIUfu+hTMVTxlUhQykk5UHWG3fNyhF/JIER8O3jlY01quw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nd0-0003jD-EY; Mon, 21 Oct 2024 04:19:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 09/16] installer: Align comments. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Cc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe X-Debbugs-Original-Xcc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949869714217 (code B ref 73927); Mon, 21 Oct 2024 08:19:02 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:17 +0000 Received: from localhost ([127.0.0.1]:50027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncG-0003hE-VZ for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36382) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc2-0003eC-8z for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:03 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbW-0003Sf-OE; Mon, 21 Oct 2024 04:17:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=o//sxzi7UsEAJ8SJ0uGFJbDjqXm2SNbLKOgriJMAJug=; b=rbiayfFPB98D2SUYO4sc OVX4Py4aO9V/1CUHUF6Zjc6YQEhd8dyt2oF4/hCsZ05oPaTeY0bkWycT3A4DjFSkzGLqZUntkozhO OANwflKoUcJRzjvxyvXwtaOPptU2+9/6IaZUZ7Z1A9tUNTLzr5r5W2Rea5QCiLvZjsmOAuH9v0qik S5/BfC8IGXrQU/GMnJXG7xB4+DKxXs+M6DklovTHbuSUbZNBdm/AmDe+n6uPUP5zEm61wiJVYlrE1 sCWbpEJTjwT4pHP3iwQuqV2zmm31iDeboSG6w8nW6TmYkj8P3iwK7NdHXVicIqqCqxEkDXPK+xUF1 ZnJO3Nu9DUXxXA==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:05 +0200 Message-ID: X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/installer.scm (installer-program): Align comments. Change-Id: I50c173c46ea9bfdb3da0562146bc969d46f0edd9 --- gnu/installer.scm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/installer.scm b/gnu/installer.scm index 5cd99e4013..3dfcb7581a 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -355,22 +355,22 @@ (define (installer-program) (define set-installer-path ;; Add the specified binary to PATH for later use by the installer. #~(let* ((inputs - '#$(list bash ;start subshells - connman ;call connmanctl + '#$(list bash ;start subshells + connman ;call connmanctl cryptsetup - dosfstools ;mkfs.fat - e2fsprogs ;mkfs.ext4 - lvm2-static ;dmsetup + dosfstools ;mkfs.fat + e2fsprogs ;mkfs.ext4 + lvm2-static ;dmsetup btrfs-progs - jfsutils ;jfs_mkfs - ntfs-3g ;mkfs.ntfs - xfsprogs ;mkfs.xfs - kbd ;chvt - util-linux ;mkwap + jfsutils ;jfs_mkfs + ntfs-3g ;mkfs.ntfs + xfsprogs ;mkfs.xfs + kbd ;chvt + util-linux ;mkwap nano shadow - tar ;dump - gzip ;dump + tar ;dump + gzip ;dump coreutils))) (with-output-to-port (%make-void-port "w") (lambda () From patchwork Mon Oct 21 08:17:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69247 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 253FF27BBE9; Mon, 21 Oct 2024 09:18:58 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A698E27BBE2 for ; Mon, 21 Oct 2024 09:18:56 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2nce-0000UG-5p; Mon, 21 Oct 2024 04:18:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2ncc-0000RS-EQ for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:38 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2ncb-0003Yv-CY; Mon, 21 Oct 2024 04:18:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=YWNSWcmINKhnMV8UXOKL7aNKl6P/JUbqiUnTq7ngZK4=; b=Ezgo5mJI4g2CWJzoqOpfzv9tQiLMn9n2nUxNE0dQbQeE02MMPiDeeKA2UhHDaF4vgsakWNCzaR136sQxJkE4b2GcTsPXulTdDAASibM61nEJ9yIm+czyIoY+Hb2oCj9VQvM6i9hUF/geGCuLHinCdcL7coN6a4IbzMPtgC2hHzgWXUcimpp28RJb4+ivAsuVIgXOyyCvnxNM8MI8Rt/d5C5XcRNtAQcHgnq3+fXRYHaX47yNun3QASDB6mvMNOeCWcmqv5C970bqHrAgTTiLYEXB58/CoDUxtFckJxx0YnY03m/642wIyQtumZeLRCEHir5SKz4dTy7MgbbG7IUr4A==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nd1-0003jU-Hd; Mon, 21 Oct 2024 04:19:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 10/16] installer: Use "partitioning-page" consistently. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:19:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Cc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe X-Debbugs-Original-Xcc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949869814232 (code B ref 73927); Mon, 21 Oct 2024 08:19:03 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:18 +0000 Received: from localhost ([127.0.0.1]:50031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncH-0003hO-Uw for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36396) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc3-0003eJ-81 for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:04 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbX-0003Ss-NM; Mon, 21 Oct 2024 04:17:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=YWNSWcmINKhnMV8UXOKL7aNKl6P/JUbqiUnTq7ngZK4=; b=sLMXEgAbut2x2PHwFxH5 LcaRtPB5f25rCPlGze71U+UaB89lHf3O+ieEyqSRSqDXIHNTx64i0qzSeMeP9PaVObChRmOgzyUgE brJDMPKei9agpOSvOPEnz/tyeCirJJ3JRiH+8iJCkTwb7BCJq+FY5+MsUeSstHyRKTFQ0wrX0g5dP g6KPWLbdLzH2innwKLXAfLlJG3zlR+Xqp+IATnciV/SNmjM8bj5lYYIfFXIe/DEUCAgWTxNxpXYnw ApiW1Rp1oQtjBjjBADADj4zPS38Q9d7pI9Xr9gpHIQJfezjMTF24lY+ksIiCZDZHbdKM3bNJ6ZXKO L1ji0Loy72vlSA==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:06 +0200 Message-ID: <47db8b65d7464d87799b1693ac44778ea066bc19.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Having `partition-page' function call `RUN-partititionING-page' where all other proxy functions call `RUN-' hurts my brain while refactoring. * gnu/installer/record.scm ()[partition-page]: Rename to... [partitioning-page]: ...this. * gnu/installer/newt.scm (partitioning-page, newt-installer): Update accordingly. * gnu/installer.scm (installer-steps): Update accordingly. Change-Id: I6b2f3459a3d0a7a89260224b7d8438676e3411ba --- gnu/installer.scm | 3 ++- gnu/installer/newt.scm | 5 +++-- gnu/installer/record.scm | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gnu/installer.scm b/gnu/installer.scm index 3dfcb7581a..3a05843cab 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2019, 2020, 2022 Ludovic Courtès ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020 Florian Pelz +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -312,7 +313,7 @@ (define (installer-steps) (id 'partition) (description (G_ "Partitioning")) (compute (lambda _ - ((installer-partition-page current-installer)))) + ((installer-partitioning-page current-installer)))) (configuration-formatter user-partitions->configuration)) (installer-step diff --git a/gnu/installer/newt.scm b/gnu/installer/newt.scm index e1c4453168..6d8ea35fff 100644 --- a/gnu/installer/newt.scm +++ b/gnu/installer/newt.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2020 Mathieu Othacehe +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -193,7 +194,7 @@ (define (hostname-page) (define (user-page) (run-user-page)) -(define (partition-page) +(define (partitioning-page) (run-partitioning-page)) (define (services-page) @@ -220,7 +221,7 @@ (define newt-installer (timezone-page timezone-page) (hostname-page hostname-page) (user-page user-page) - (partition-page partition-page) + (partitioning-page partitioning-page) (services-page services-page) (welcome-page welcome-page) (parameters-menu parameters-menu) diff --git a/gnu/installer/record.scm b/gnu/installer/record.scm index 5e0264682f..334af44a0c 100644 --- a/gnu/installer/record.scm +++ b/gnu/installer/record.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2020 Mathieu Othacehe ;;; Copyright © 2020 Florian Pelz +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,7 +38,7 @@ (define-module (gnu installer record) installer-timezone-page installer-hostname-page installer-user-page - installer-partition-page + installer-partitioning-page installer-services-page installer-welcome-page installer-parameters-menu @@ -86,7 +87,7 @@ (define-record-type* ;; procedure void -> void (user-page installer-user-page) ;; procedure void -> void - (partition-page installer-partition-page) + (partitioning-page installer-partitioning-page) ;; procedure void -> void (services-page installer-services-page) ;; procedure (logo #:pci-database) -> void From patchwork Mon Oct 21 08:17:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69252 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C708F27BBEA; Mon, 21 Oct 2024 09:19:14 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 85C7A27BBE2 for ; Mon, 21 Oct 2024 09:19:14 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2ncd-0000Tf-KL; Mon, 21 Oct 2024 04:18:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2ncc-0000RR-AN for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:38 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2ncb-0003ZN-UR; Mon, 21 Oct 2024 04:18:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=EWf9eMGS45EBeCb9dB2HmJzsTUhAmZflOuernXTWF60=; b=DJMuJmcS7QlTipi4+I+ThVxnGugbfC7QYc1864vnkJFPMlOXQiD24Zs4gjMlun08adgbthhaFKMNsnpdtEH8YZYET6WhRR6b4oWzhEnSBgWskWvGCpPQdnHW1CMxz4ZtmXj5J5IHFxFR7djnTJJCusErS8YTFn2tSQezhwANOqnXrrF0ChS4IMnGH0OP1bsGONLrHEAn+Lnfu6cFFnS8BVbi/toVmNYgPKnL/GyD65Usht81OVopLzq2plbUgioNRHYs86JaQbg5BMUi5jm+Ufuq70vb2dw7OhkbWJCpMJ9eylNTatZjcILK9fu30jWqHxWKfYj8BoHDSq/mWKFOGQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nd2-0003jd-2u; Mon, 21 Oct 2024 04:19:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 11/16] installer: Fix file-name typos. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:19:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Cc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe X-Debbugs-Original-Xcc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949869914240 (code B ref 73927); Mon, 21 Oct 2024 08:19:04 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:19 +0000 Received: from localhost ([127.0.0.1]:50033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncI-0003hV-G5 for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36400) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc4-0003eQ-NR for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:05 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbY-0003T2-II; Mon, 21 Oct 2024 04:17:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=EWf9eMGS45EBeCb9dB2HmJzsTUhAmZflOuernXTWF60=; b=hd9MCIc5JGPhsc6Ef0Jc jiKirBoH0uXLo0Q5B4IFlhFKtC1RWySyjMy8AAWtk+sdDcslubMGdvtJN1xSO3eDlMF1BwZVxuVfL lDgE8E9p5P06YWZhlemm6B32k+MBSBd+y+KUT9erpMDTUvgRddF3dO6RKo3huTWgHygddCcKNJr+5 uy2BxknRz4uz2si27yl+wkjVacJx7upObucsNUdnqfVTkssEv1PBGWA2A721zluORNVLtNDEQHi9V Nr+lsPmgCbi5Z29o1I0JtiI9JOAs5QyBEBdaXWVC3IhQ0Ad5LmQFifrFVV+yznDqR1fgiwcdZrwCg lBNkSixEnsvtqQ==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:07 +0200 Message-ID: <288e8e12e0a9a1ed6b7a713501c3e8e8a8b8757a.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/installer/newt/page.scm (run-dump-page): Typo file-name. * gnu/installer/utils.scm (open-new-log-port): Likewise. Change-Id: I837991a0ee5054b3afa8328205e23ac6f9fbae8d --- gnu/installer/newt/page.scm | 7 ++++--- gnu/installer/utils.scm | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/installer/newt/page.scm b/gnu/installer/newt/page.scm index e1623a51fd..64a2916826 100644 --- a/gnu/installer/newt/page.scm +++ b/gnu/installer/newt/page.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019, 2020, 2022 Ludovic Courtès ;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -950,10 +951,10 @@ (define* (run-dump-page base-dir file-choices) ('exit-component (let ((result (map (match-lambda - ((edit checkbox filename) + ((edit checkbox file-name) (if (components=? edit argument) - (abort-to-prompt prompt-tag filename) - (cons filename (eq? #\x + (abort-to-prompt prompt-tag file-name) + (cons file-name (eq? #\x (checkbox-value checkbox)))))) components))) (destroy-form-and-pop form) diff --git a/gnu/installer/utils.scm b/gnu/installer/utils.scm index 6838410166..c722e9af8f 100644 --- a/gnu/installer/utils.scm +++ b/gnu/installer/utils.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2020 Mathieu Othacehe ;;; Copyright © 2019, 2020, 2022 Ludovic Courtès +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -283,11 +284,11 @@ (define-syntax syslog (define (open-new-log-port) (define now (localtime (time-second (current-time)))) - (define filename + (define file-name (format #f "/tmp/installer.~a.log" (strftime "%F.%T" now))) - (open filename (logior O_RDWR - O_CREAT))) + (open file-name (logior O_RDWR + O_CREAT))) (define installer-log-port (let ((port #f)) From patchwork Mon Oct 21 08:17:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69246 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id BDF6827BBEA; Mon, 21 Oct 2024 09:18:48 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 11ECB27BBE9 for ; Mon, 21 Oct 2024 09:18:48 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2nce-0000Ut-Tn; Mon, 21 Oct 2024 04:18:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2ncc-0000SM-TC for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:38 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2ncc-0003Zw-Cj; Mon, 21 Oct 2024 04:18:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=CSK8I5KJT1wTYDX2mJIFIiHQotVgmlMrUDo05NicsEs=; b=Kj/W8vnvQ6QruH8H8XVt1qQpnorpXoBxSF1V1+L87q1uojBV8s0yqQKsSQXO1PKedK5NJpiWS3t9OS6NE/uC46tzad14Fh4RljioYRA468zYoABlqOQzX9+HsIQoPQ1LUZDarBc0ZGY68tRkQ7iDixHQtGe9TNukPFVFfvs9IzskIbN5PDQVnNL6eu4RAzH1Ow4aE1/F1+AxNq8c8ZSw0AhbPetvJEDUJSSIMeJ96/AFPsqTnMdRw/QfndCWth9XV9mfUtdwOJbfU7bpHKFtgiH/ovU7Nu47XixAajdrdCi44WLdl9gf1M290AlS1JCPpy3F9N2PMvi9USs2oku64A==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nd2-0003jm-Hh; Mon, 21 Oct 2024 04:19:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 12/16] installer: Use `%' for parameter %run-command-in-installer. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:19:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Cc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe X-Debbugs-Original-Xcc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949869914247 (code B ref 73927); Mon, 21 Oct 2024 08:19:04 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:19 +0000 Received: from localhost ([127.0.0.1]:50035 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncI-0003hc-UQ for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36402) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc5-0003eU-GE for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:06 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbZ-0003TB-VK; Mon, 21 Oct 2024 04:17:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=CSK8I5KJT1wTYDX2mJIFIiHQotVgmlMrUDo05NicsEs=; b=VAO01MIergcuUbRJiEbO 1ZwJH6eWI2eN9yQPlqzAPgDbxzhtEM4jE3Fa+h34iSRr3lsBTDDk/4GMcSaTJM5aqM950d4j96ylY Bbl2WEtxhlRBnMWArmTw7FDSidCxhIJLDbdtoxxrVYwV+DoRJxzrlhBmFJ2tmt3DhEjdaWhp2hH6I WuP05AVA2jtgaKeRaU4mledRbPJdHEHZ5XkWPCX/AWd9TjIq23Hm7trNAX/WDdZ3+4fIXaHgP+Bvf 4yMQSJytCw/5uXwVcZMODBNy1o/WaoeOd3ONJGsqaxKBp9X9MfY/VEhQ/mzi/TPvF/6snWXFI/1gV h9maGgkLyNbeYg==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:08 +0200 Message-ID: X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/installer/utils.scm (run-command-in-installer): Rename to... (%run-command-in-installer): ...this. * gnu/installer.scm (installer-program): Update accordingly. * gnu/installer/parted.scm (remove-logical-devices, create-btrfs-file-system, create-ext4-file-system, create-fat16-file-system, create-fat32-file-system, create-jfs-file-system, create-ntfs-file-system, create-xfs-file-system, create-swap-partition, luks-format-and-open, luks-ensure-open, luks-close): Update accordingly. Change-Id: I96ebc59ebc85fd8ebccb0cc57130b4e7532d287f --- gnu/installer.scm | 2 +- gnu/installer/parted.scm | 27 ++++++++++++++------------- gnu/installer/utils.scm | 6 +++--- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/gnu/installer.scm b/gnu/installer.scm index 3a05843cab..21809e4259 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -465,7 +465,7 @@ (define (installer-program) (installer-init current-installer) (lambda () (parameterize - ((run-command-in-installer + ((%run-command-in-installer (installer-run-command current-installer))) (catch #t (lambda () diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index dbdec1bba8..e59df3d8e6 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2019-2020, 2022, 2024 Ludovic Courtès ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2022 Josselin Poiret +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -363,7 +364,7 @@ (define* (force-device-sync device) (define (remove-logical-devices) "Remove all active logical devices." - ((run-command-in-installer) "dmsetup" "remove_all")) + ((%run-command-in-installer) "dmsetup" "remove_all")) (define (installer-root-partition-path) "Return the root partition path, or #f if it could not be detected." @@ -1183,7 +1184,7 @@ (define (set-user-partitions-file-name user-partitions) (define (create-btrfs-file-system partition) "Create a btrfs file-system for PARTITION file-name." - ((run-command-in-installer) "mkfs.btrfs" "-f" partition)) + ((%run-command-in-installer) "mkfs.btrfs" "-f" partition)) (define (create-ext4-file-system partition) "Create an ext4 file-system for PARTITION file-name." @@ -1192,32 +1193,32 @@ (define (create-ext4-file-system partition) ;; up and adding new files would fail with ENOSPC despite there being plenty ;; of free space and inodes: ;; . - ((run-command-in-installer) "mkfs.ext4" "-F" partition + ((%run-command-in-installer) "mkfs.ext4" "-F" partition "-O" "large_dir")) (define (create-fat16-file-system partition) "Create a fat16 file-system for PARTITION file-name." - ((run-command-in-installer) "mkfs.fat" "-F16" partition)) + ((%run-command-in-installer) "mkfs.fat" "-F16" partition)) (define (create-fat32-file-system partition) "Create a fat32 file-system for PARTITION file-name." - ((run-command-in-installer) "mkfs.fat" "-F32" partition)) + ((%run-command-in-installer) "mkfs.fat" "-F32" partition)) (define (create-jfs-file-system partition) "Create a JFS file-system for PARTITION file-name." - ((run-command-in-installer) "jfs_mkfs" "-f" partition)) + ((%run-command-in-installer) "jfs_mkfs" "-f" partition)) (define (create-ntfs-file-system partition) "Create a JFS file-system for PARTITION file-name." - ((run-command-in-installer) "mkfs.ntfs" "-F" "-f" partition)) + ((%run-command-in-installer) "mkfs.ntfs" "-F" "-f" partition)) (define (create-xfs-file-system partition) "Create an XFS file-system for PARTITION file-name." - ((run-command-in-installer) "mkfs.xfs" "-f" partition)) + ((%run-command-in-installer) "mkfs.xfs" "-f" partition)) (define (create-swap-partition partition) "Set up swap area on PARTITION file-name." - ((run-command-in-installer) "mkswap" "-f" partition)) + ((%run-command-in-installer) "mkswap" "-f" partition)) (define (call-with-luks-key-file password proc) "Write PASSWORD in a temporary file and pass it to PROC as argument." @@ -1246,9 +1247,9 @@ (define (luks-format-and-open user-partition) (lambda (key-file) (installer-log-line "formatting and opening LUKS entry ~s at ~s" label file-name) - ((run-command-in-installer) "cryptsetup" "-q" "luksFormat" + ((%run-command-in-installer) "cryptsetup" "-q" "luksFormat" file-name key-file) - ((run-command-in-installer) "cryptsetup" "open" "--type" "luks" + ((%run-command-in-installer) "cryptsetup" "open" "--type" "luks" "--key-file" key-file file-name label))))) (define (luks-ensure-open user-partition) @@ -1262,14 +1263,14 @@ (define (luks-ensure-open user-partition) (lambda (key-file) (installer-log-line "opening LUKS entry ~s at ~s" label file-name) - ((run-command-in-installer) "cryptsetup" "open" "--type" "luks" + ((%run-command-in-installer) "cryptsetup" "open" "--type" "luks" "--key-file" key-file file-name label)))))) (define (luks-close user-partition) "Close the encrypted partition pointed by USER-PARTITION." (let ((label (user-partition-crypt-label user-partition))) (installer-log-line "closing LUKS entry ~s" label) - ((run-command-in-installer) "cryptsetup" "close" label))) + ((%run-command-in-installer) "cryptsetup" "close" label))) (define (format-user-partitions user-partitions) "Format the records in USER-PARTITIONS list with diff --git a/gnu/installer/utils.scm b/gnu/installer/utils.scm index c722e9af8f..170f036537 100644 --- a/gnu/installer/utils.scm +++ b/gnu/installer/utils.scm @@ -50,7 +50,7 @@ (define-module (gnu installer utils) run-external-command-with-handler/tty run-external-command-with-line-hooks run-command - run-command-in-installer + %run-command-in-installer syslog-port %syslog-line-hook @@ -222,13 +222,13 @@ (define* (run-command command #:key (tty? #f)) (pause) succeeded?) -(define run-command-in-installer +(define %run-command-in-installer (make-parameter (lambda (. args) (raise (condition (&serious) - (&message (message "run-command-in-installer not set"))))))) + (&message (message "%run-command-in-installer not set"))))))) ;;; From patchwork Mon Oct 21 08:17:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69248 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3B0C227BBE9; Mon, 21 Oct 2024 09:19:04 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id AC7EC27BBE2 for ; Mon, 21 Oct 2024 09:19:01 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2ncf-0000VS-6q; Mon, 21 Oct 2024 04:18:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2ncd-0000T3-7c for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:39 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2ncc-0003aE-U8; Mon, 21 Oct 2024 04:18:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=z4dZ6KyAzFhF7tUzPFd3nYzp9ZEnAxoW67m1LqaIbwU=; b=UcSDIv59javEDPgtRGTSGbLPh9xcRlh6GeWtChIhfypDTOotnnEyFxhfwrxhroY+qkizNbGziCyqV6PL6qlk9UA2WORrwAbu16Ey1hTsvxntjZ02Vd3esj64t76HrDkTK+rzBNHB91vK7FyDyCwzLvHaUa+rL1xAvrLvvtePt+ubKBA2+mc7N/tZTc6nJIZAceE2/5VKsmc6indce542X3ki5Kgb73B95gqkHsWuL5oJKF4xz+Oyjfh78YtYUSuXsBIODh63RVCimot7++jbYs8sOJLXU13gDDPw9HuLwHbXMlyYJwYSJ/f9nV/gvbM5rR++WK0rVeDSdYGHV/CsTg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nd3-0003jv-2U; Mon, 21 Oct 2024 04:19:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 13/16] installer: Add dry-run? Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:19:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Cc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe X-Debbugs-Original-Xcc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949870014255 (code B ref 73927); Mon, 21 Oct 2024 08:19:05 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:20 +0000 Received: from localhost ([127.0.0.1]:50037 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncJ-0003hk-IP for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:20 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36408) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc6-0003eY-Dy for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:07 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nba-0003TK-TT; Mon, 21 Oct 2024 04:17:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=z4dZ6KyAzFhF7tUzPFd3nYzp9ZEnAxoW67m1LqaIbwU=; b=rHnMP6338BAZQ3zy0JJr M/lDCa5usLIlP+2Y2uebrl29fhQfZqzQg58/iUxq0CDroRU5c0w/xDAU/gqU15xZruf0e0LT03It6 pjFx0jvpVkGk8xSrMk+BT1V6J0FfBk787DyWmFhJ7ePxwaLIeo58ASzP8FiRRJpsWnxqHDLLCsplO W4+ugGqQo+KkUPj+02zleK11SykTKG9VLD759DtzAqIXGUSX5+w7+NiozvsPf2AlAVeG2TLfvK6dS YqiS3JRiHGWXptDLzSP05kAcEpDup0hNCPVt7U1Jv/D5BJ0bbGpjTSlKCliwODdUagXsWRP6Bo7kH GtUSy6vu4VcUXQ==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:09 +0200 Message-ID: <5c147111fed1208e96f5e54619ceefd5bfc073f8.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches This allows running the installer without root privileges. Do something like ./pre-inst-env guix repl ,use (guix) ,use (gnu installer) (installer-program #:dry-run? #t) ,build $1 => "/gnu/store/...-installer-program" and run /gnu/store/...-installer-program * gnu/installer/newt.scm (locale-page): Add #:dry-run? parameter. (keymap-page): Likewise. * gnu/installer/newt/keymap.scm (run-keymap-page): Likewise. * gnu/installer/steps.scm (run-installer-steps): Likewise. Use it to skip writing to socket. * gnu/installer/newt/final.scm (run-final-page): Rename to... (run-final-page-install): ...this. (dry-run-final-page, run-final-page): New procedures. * gnu/installer/parted.scm (bootloader-configuration): Cater for empty user partitions. * gnu/installer/utils.scm (dry-run-command): New procedure. * gnu/installer.scm (compute-locale-step): Add #:dry-run? parameter. Use it to avoid actually applying locale. (compute-keymap-step): Add dry-run? parameter. Pass it to keymap-page. (installer-program): Add #:dry-run? parameter. If #:true avoid writing to /proc, use dry-run-command, skip sync and reboot, and pass dry-run? to... (installer-steps): ...here. Add #:dry-run? parameter. Use it to disable skip network, substitutes, partitioning pages, and pass it to... compute-locale-step, compute-keymap-step, and final-page. Change-Id: I0ff4c3b0a0c69539af617c27ba37654beed44619 --- gnu/installer.scm | 81 ++++++++++++++++++++------------ gnu/installer/newt.scm | 14 +++--- gnu/installer/newt/final.scm | 20 +++++++- gnu/installer/newt/keymap.scm | 5 +- gnu/installer/newt/locale.scm | 6 ++- gnu/installer/newt/partition.scm | 1 + gnu/installer/parted.scm | 29 +++++++----- gnu/installer/steps.scm | 16 +++++-- gnu/installer/utils.scm | 4 ++ 9 files changed, 116 insertions(+), 60 deletions(-) diff --git a/gnu/installer.scm b/gnu/installer.scm index 21809e4259..39a83c4455 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -134,7 +134,8 @@ (define apply-locale (define* (compute-locale-step #:key locales-name iso639-languages-name - iso3166-territories-name) + iso3166-territories-name + dry-run?) "Return a gexp that run the locale-page of INSTALLER, and install the selected locale. The list of locales, languages and territories passed to locale-page are computed in derivations named respectively LOCALES-NAME, @@ -177,8 +178,11 @@ (define* (compute-locale-step #:key ((installer-locale-page current-installer) #:supported-locales #$locales-loader #:iso639-languages #$iso639-loader - #:iso3166-territories #$iso3166-loader))) - (#$apply-locale result) + #:iso3166-territories #$iso3166-loader + #:dry-run? #$dry-run?))) + (if #$dry-run? + '() + (#$apply-locale result)) result)))) (define apply-keymap @@ -188,7 +192,7 @@ (define apply-keymap (kmscon-update-keymap (default-keyboard-model) layout variant options)))) -(define* (compute-keymap-step context) +(define (compute-keymap-step context dry-run?) "Return a gexp that runs the keymap-page of INSTALLER and install the selected keymap." #~(lambda (current-installer) @@ -200,15 +204,16 @@ (define* (compute-keymap-step context) "/share/X11/xkb/rules/base.xml"))) (lambda (models layouts) ((installer-keymap-page current-installer) - layouts '#$context))))) + layouts '#$context #$dry-run?))))) (and result (#$apply-keymap result)) result))) -(define (installer-steps) +(define* (installer-steps #:key dry-run?) (let ((locale-step (compute-locale-step #:locales-name "locales" #:iso639-languages-name "iso639-languages" - #:iso3166-territories-name "iso3166-territories")) + #:iso3166-territories-name "iso3166-territories" + #:dry-run? dry-run?)) (timezone-data #~(string-append #$tzdata "/share/zoneinfo/zone.tab"))) #~(lambda (current-installer) @@ -216,7 +221,7 @@ (define (installer-steps) (lambda () ((installer-parameters-page current-installer) (lambda _ - (#$(compute-keymap-step 'param) + (#$(compute-keymap-step 'param dry-run?) current-installer))))) (list ;; Ask the user to choose a locale among those supported by @@ -262,8 +267,10 @@ (define (installer-steps) (id 'keymap) (description (G_ "Keyboard mapping selection")) (compute (lambda _ - (#$(compute-keymap-step 'default) - current-installer))) + (if #$dry-run? + '("en" "US" #f) + (#$(compute-keymap-step 'default dry-run?) + current-installer)))) (configuration-formatter keyboard-layout->configuration)) ;; Ask the user to input a hostname for the system. @@ -280,14 +287,18 @@ (define (installer-steps) (id 'network) (description (G_ "Network selection")) (compute (lambda _ - ((installer-network-page current-installer))))) + (if #$dry-run? + '() + ((installer-network-page current-installer)))))) ;; Ask whether to enable substitute server discovery. (installer-step (id 'substitutes) (description (G_ "Substitute server discovery")) (compute (lambda _ - ((installer-substitutes-page current-installer))))) + (if #$dry-run? + '() + ((installer-substitutes-page current-installer)))))) ;; Prompt for users (name, group and home directory). (installer-step @@ -313,7 +324,9 @@ (define (installer-steps) (id 'partition) (description (G_ "Partitioning")) (compute (lambda _ - ((installer-partitioning-page current-installer)))) + (if #$dry-run? + '() + ((installer-partitioning-page current-installer))))) (configuration-formatter user-partitions->configuration)) (installer-step @@ -322,7 +335,7 @@ (define (installer-steps) (compute (lambda (result prev-steps) ((installer-final-page current-installer) - result prev-steps)))))))) + result prev-steps #$dry-run?)))))))) (define (provenance-sexp) "Return an sexp representing the currently-used channels, for logging @@ -343,7 +356,7 @@ (define (provenance-sexp) `(channel ,(channel-name channel) ,url ,(channel-commit channel)))) channels)))) -(define (installer-program) +(define* (installer-program #:key dry-run?) "Return a file-like object that runs the given INSTALLER." (define init-gettext ;; Initialize gettext support, so that installer messages can be @@ -377,7 +390,7 @@ (define (installer-program) (lambda () (set-path-environment-variable "PATH" '("bin" "sbin") inputs))))) - (define steps (installer-steps)) + (define steps (installer-steps #:dry-run? dry-run?)) (define modules (scheme-modules* (string-append (current-source-directory) "/..") @@ -425,9 +438,10 @@ (define (installer-program) ;; Enable core dump generation. (setrlimit 'core #f #f) - (call-with-output-file "/proc/sys/kernel/core_pattern" - (lambda (port) - (format port %core-dump))) + (unless #$dry-run? + (call-with-output-file "/proc/sys/kernel/core_pattern" + (lambda (port) + (format port %core-dump)))) ;; Initialize gettext support so that installers can use ;; (guix i18n) module. @@ -466,24 +480,29 @@ (define (installer-program) (lambda () (parameterize ((%run-command-in-installer - (installer-run-command current-installer))) + (if #$dry-run? + dry-run-command + (installer-run-command current-installer)))) (catch #t (lambda () (define results (run-installer-steps #:rewind-strategy 'menu #:menu-proc (installer-menu-page current-installer) - #:steps steps)) - - (match (result-step results 'final) - ('success - ;; We did it! Let's reboot! - (sync) - (stop-service 'root)) - (_ - ;; The installation failed, exit so that it is - ;; restarted by login. - #f))) + #:steps steps + #:dry-run? #$dry-run?)) + + (let ((result (result-step results 'final))) + (unless #$dry-run? + (match (result-step results 'final) + ('success + ;; We did it! Let's reboot! + (sync) + (stop-service 'root)) + (_ + ;; The installation failed, exit so that it is + ;; restarted by login. + #f))))) (const #f) (lambda (key . args) (installer-log-line "crashing due to uncaught exception: ~s ~s" diff --git a/gnu/installer/newt.scm b/gnu/installer/newt.scm index 6d8ea35fff..d53bc058b3 100644 --- a/gnu/installer/newt.scm +++ b/gnu/installer/newt.scm @@ -158,17 +158,19 @@ (define (newt-run-command . args) (term-signal term-sig) (stop-signal stop-sig))))))))))) -(define (final-page result prev-steps) - (run-final-page result prev-steps)) +(define (final-page result prev-steps dry-run?) + (run-final-page result prev-steps dry-run?)) (define* (locale-page #:key supported-locales iso639-languages - iso3166-territories) + iso3166-territories + dry-run?) (run-locale-page #:supported-locales supported-locales #:iso639-languages iso639-languages - #:iso3166-territories iso3166-territories)) + #:iso3166-territories iso3166-territories + #:dry-run? dry-run?)) (define (timezone-page zonetab) (run-timezone-page zonetab)) @@ -179,8 +181,8 @@ (define* (welcome-page logo #:key pci-database) (define (menu-page steps) (run-menu-page steps)) -(define* (keymap-page layouts context) - (run-keymap-page layouts #:context context)) +(define (keymap-page layouts context dry-run?) + (run-keymap-page layouts #:context context #:dry-run? dry-run?)) (define (network-page) (run-network-page)) diff --git a/gnu/installer/newt/final.scm b/gnu/installer/newt/final.scm index 9f950a0551..c4e53f6d79 100644 --- a/gnu/installer/newt/final.scm +++ b/gnu/installer/newt/final.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2020 Mathieu Othacehe ;;; Copyright © 2019, 2020 Ludovic Courtès +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -106,7 +107,7 @@ (define* (run-install-shell locale (newt-resume) install-ok?)) -(define (run-final-page result prev-steps) +(define (run-final-page-install result prev-steps) (define (wait-for-clients) (unless (null? (current-clients)) (installer-log-line "waiting with clients before starting final step") @@ -133,3 +134,20 @@ (define (run-final-page result prev-steps) (if install-ok? (run-install-success-page) (run-install-failed-page)))) + +(define (dry-run-final-page result prev-steps) + (installer-log-line "proceeding with final step -- dry-run") + (let* ((configuration (format-configuration prev-steps result)) + (user-partitions (result-step result 'partition)) + (locale (result-step result 'locale)) + (users (result-step result 'user)) + (file (configuration->file configuration)) + (install-ok? (run-config-display-page #:locale locale))) + (if install-ok? + (run-install-success-page) + (run-install-failed-page)))) + +(define (run-final-page result prev-steps dry-run?) + (if dry-run? + (dry-run-final-page result prev-steps) + (run-final-page-install result prev-steps))) diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm index 109ec55e0a..57f6d6530c 100644 --- a/gnu/installer/newt/keymap.scm +++ b/gnu/installer/newt/keymap.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2018, 2020 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès ;;; Copyright © 2020 Florian Pelz +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -153,7 +154,7 @@ (define (toggleable-latin-layout layout variant) "grp:alt_shift_toggle")) (list layout variant #f))) -(define* (run-keymap-page layouts #:key (context #f)) +(define* (run-keymap-page layouts #:key context dry-run?) "Run a page asking the user to select a keyboard layout and variant. LAYOUTS is a list of supported X11-KEYMAP-LAYOUT. For non-Latin keyboard layouts, a second layout and toggle options will be added automatically. Return a list @@ -201,7 +202,7 @@ (define* (run-keymap-page layouts #:key (context #f)) "xkeyboard-config"))))) (toggleable-latin-layout layout variant))) - (let* ((result (run-installer-steps #:steps keymap-steps)) + (let* ((result (run-installer-steps #:steps keymap-steps #:dry-run? dry-run?)) (layout (result-step result 'layout)) (variant (result-step result 'variant))) (and layout diff --git a/gnu/installer/newt/locale.scm b/gnu/installer/newt/locale.scm index a226b39ba6..0be9db449e 100644 --- a/gnu/installer/newt/locale.scm +++ b/gnu/installer/newt/locale.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -92,7 +93,8 @@ (define (run-modifier-page modifiers modifier->text) (define* (run-locale-page #:key supported-locales iso639-languages - iso3166-territories) + iso3166-territories + dry-run?) "Run a page asking the user to select a locale language and possibly territory, codeset and modifier. Use SUPPORTED-LOCALES as the list of glibc available locales. ISO639-LANGUAGES is an association list associating a @@ -212,4 +214,4 @@ (define* (run-locale-page #:key ;; step, turn the result into a glibc locale string and return it. (result->locale-string supported-locales - (run-installer-steps #:steps locale-steps))) + (run-installer-steps #:steps locale-steps #:dry-run? dry-run?))) diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm index 37656696c1..48dd306080 100644 --- a/gnu/installer/newt/partition.scm +++ b/gnu/installer/newt/partition.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2018, 2019, 2022 Mathieu Othacehe ;;; Copyright © 2019, 2020 Ludovic Courtès ;;; Copyright © 2020 Tobias Geerinckx-Rice +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index e59df3d8e6..b36b238d8b 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -1461,19 +1461,22 @@ (define (root-user-partition? partition) (define (bootloader-configuration user-partitions) "Return the bootloader configuration field for USER-PARTITIONS." - (let* ((root-partition (find root-user-partition? - user-partitions)) - (root-partition-disk (user-partition-disk-file-name root-partition))) - `((bootloader-configuration - ,@(if (efi-installation?) - `((bootloader grub-efi-bootloader) - (targets (list ,(default-esp-mount-point)))) - `((bootloader grub-bootloader) - (targets (list ,root-partition-disk)))) - - ;; XXX: Assume we defined the 'keyboard-layout' field of - ;; right above. - (keyboard-layout keyboard-layout))))) + (let ((root-partition (find root-user-partition? user-partitions))) + (match user-partitions + (() '()) + (_ + (let ((root-partition-disk (user-partition-disk-file-name + root-partition))) + `((bootloader-configuration + ,@(if (efi-installation?) + `((bootloader grub-efi-bootloader) + (targets (list ,(default-esp-mount-point)))) + `((bootloader grub-bootloader) + (targets (list ,root-partition-disk)))) + + ;; XXX: Assume we defined the 'keyboard-layout' field of + ;; right above. + (keyboard-layout keyboard-layout)))))))) (define (user-partition-missing-modules user-partitions) "Return the list of kernel modules missing from the default set of kernel diff --git a/gnu/installer/steps.scm b/gnu/installer/steps.scm index 0c505e40e4..de0a852f02 100644 --- a/gnu/installer/steps.scm +++ b/gnu/installer/steps.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2019 Mathieu Othacehe ;;; Copyright © 2020-2022 Ludovic Courtès +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -84,7 +85,8 @@ (define-record-type* (define* (run-installer-steps #:key steps (rewind-strategy 'previous) - (menu-proc (const #f))) + (menu-proc (const #f)) + dry-run?) "Run the COMPUTE procedure of all records in STEPS sequentially, inside a the 'installer-step prompt. When aborted to with a parameter of 'abort, fallback to a previous install-step, accordingly to the @@ -191,10 +193,14 @@ (define* (run-installer-steps #:key ;; prematurely. (sigaction SIGPIPE SIG_IGN) - (with-server-socket - (run '() - #:todo-steps steps - #:done-steps '()))) + (if dry-run? + (run '() + #:todo-steps steps + #:done-steps '()) + (with-server-socket + (run '() + #:todo-steps steps + #:done-steps '())))) (define (find-step-by-id steps id) "Find and return the step in STEPS whose id is equal to ID." diff --git a/gnu/installer/utils.scm b/gnu/installer/utils.scm index 170f036537..a8eb6cee83 100644 --- a/gnu/installer/utils.scm +++ b/gnu/installer/utils.scm @@ -49,6 +49,7 @@ (define-module (gnu installer utils) run-external-command-with-handler run-external-command-with-handler/tty run-external-command-with-line-hooks + dry-run-command run-command %run-command-in-installer @@ -222,6 +223,9 @@ (define* (run-command command #:key (tty? #f)) (pause) succeeded?) +(define (dry-run-command . args) + (format #t "dry-run-command: skipping: ~a\n" args)) + (define %run-command-in-installer (make-parameter (lambda (. args) From patchwork Mon Oct 21 08:17:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69253 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B448F27BBEA; Mon, 21 Oct 2024 09:19:17 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 03C2C27BBE2 for ; Mon, 21 Oct 2024 09:19:16 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2ncu-0000ea-Jb; Mon, 21 Oct 2024 04:18:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nce-0000Uc-Fp for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:40 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nce-0003b5-1o; Mon, 21 Oct 2024 04:18:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=CO77OUD4YdLp+ufdU12tqmVO1rAM4U4zjXzd12CqZ70=; b=KY2Z4S5Jn+Ort8zyedfvJgCe4sn5V6u1KV3wk3RdlF1UEGVA6bk9vZyjRmUPaQ/p2OgoPWr+u8963YV6mITK02sRk0BtGsOM92P8x8DsbApYme2Ge6ciLvYbPCIrwouA9CMSNqlK/y3r5BzsXlnFlhvQTnBoea65d+LxVgLKxAtc5GE8Nj5Rajrs9acAlOiioph9IF39B9nRLsJSZYicvfn4eYShTtpnn1JuQowpDwRnstbtdBR4kyo3UFIy55sJQjXQBpucrkZdb6oSjsBmKsyG/oFKhaIq9y1CUOUcQl3WTl79o7gbok8dVgKCN3/xPdxnGDtIp4uAkIDD3AVlmw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nd4-0003kD-7a; Mon, 21 Oct 2024 04:19:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 14/16] installer: Add "Kernel" page to select the Hurd. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:19:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Cc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe X-Debbugs-Original-Xcc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949870314272 (code B ref 73927); Mon, 21 Oct 2024 08:19:06 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:23 +0000 Received: from localhost ([127.0.0.1]:50041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncL-0003hz-4P for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:22 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36420) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2nc9-0003fT-2o for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:10 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbd-0003Tl-I8; Mon, 21 Oct 2024 04:17:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=CO77OUD4YdLp+ufdU12tqmVO1rAM4U4zjXzd12CqZ70=; b=PM6VaRkSyXZrcPytUWi5 uJwBl59g5AesyN5xjZhSxBg64vT0ztl6gmOqRZ8w2Rjt88nUjzM6jIHSdOKLHHrjWvmn9d5g+HKC5 3TGZTvT+pZkD/kgLF4MVanuKoxSUAqpVEWi2P2yKjylMQu7Rw4uW5vmd8vaKsXaa5A2FWE+FQfG3W xlt3S2Hne12KKaodwg/IZSLHS9FXHsG4QuuTA8YQObEW9mJuB4KV6pyaowjKv5OoMr64H/nhOIZHF 3+AipLHAhccNYJRd31PFGMtZRPBC+ixK87IQV56oGf8KbFcJIsAGa+XLreNh6mus5tddru1+Pbo5W rnXQIJgeFLzo+w==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:10 +0200 Message-ID: X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches This adds a "Kernel" page to the installer with the option to (cross-) install the Hurd, if applicable (only available on x86 machines for now). * gnu/installer/newt.scm (kernel-page): New procedure. (newt-installer)[kernel-page]: New field. * gnu/installer/kernel.scm, gnu/installer/newt/kernel.scm: New files. * gnu/local.mk (INSTALLER_MODULES): Add them. * gnu/installer.scm (installer-steps): Use them to select kernel if applicable. * gnu/installer/newt/partition.scm (run-fs-type-page): Add ext2 for the hurd. (run-partitioning-page-partition): Remove `entire-encrypted' option when installing the Hurd. * gnu/installer/services.scm (system-services->configuration): Cater for the Hurd with %base-services/hurd, and with %base-packages/hurd that must always be set. (%system-services): Change to procedure. When installing the the Hurd, do not recommend `ntp-service-type' and USE `openssh-sans-x' package for `openssh-service-type'. (system-service-none): New variable. * gnu/installer/newt/services.scm (run-network-management-page): Include it when installing the Hurd. (run-desktop-environments-cbt-page): When installing the Hurd, recommend to not select any desktop enviroment. Update users. * gnu/installer/parted.scm (create-ext2-file-system): New procedure. (user-fs-type-name, user-fs-type->mount-type, partition-filesystem-user-type, format-user-partitions): Support `ext2'. ( partition->user-partition): Use `ext2' when installing the Hurd. (auto-partition!): Likewise. No swap partition when installing the Hurd. * gnu/installer/final.scm (install-system): Cater for cross installation of the Hurd. (bootloader-configuration): Use `grub-minimal-bootloader' when installing the Hurd. (user-partition-missing-modules): Cater for empty user-partitions. (initrd-configuration, user-partitions->configuration): Cater for the Hurd. * gnu/installer/steps.scm (format-configuration, configuration->file): Cater for the Hurd. * gnu/system/hurd.scm (%desktop-services/hurd): New variable. Change-Id: Ifafb27b8a2f933944c77223a27ec151757237e36 * gnu/installer/services.scm (%system-services): Change-Id: I15d535a7a8a917e5f3492f8c01d922d652c32ee5 geert none Change-Id: Ib6c5665638018f59a2690f603fad0702e042fb8b Change-Id: I01b854390240be60ce9fef8c9510a90bc6843ef3 geert Change-Id: Ibb7205443969fc92d4fe62d4dfb4f956d03229b9 --- gnu/installer.scm | 14 ++++++++ gnu/installer/final.scm | 10 ++++-- gnu/installer/kernel.scm | 34 ++++++++++++++++++ gnu/installer/newt.scm | 5 +++ gnu/installer/newt/kernel.scm | 45 +++++++++++++++++++++++ gnu/installer/newt/partition.scm | 9 ++++- gnu/installer/newt/services.scm | 31 +++++++++------- gnu/installer/parted.scm | 62 +++++++++++++++++++++++--------- gnu/installer/record.scm | 3 ++ gnu/installer/services.scm | 46 ++++++++++++++++++------ gnu/installer/steps.scm | 14 +++++--- gnu/local.mk | 2 ++ gnu/system/hurd.scm | 3 ++ 13 files changed, 231 insertions(+), 47 deletions(-) create mode 100644 gnu/installer/kernel.scm create mode 100644 gnu/installer/newt/kernel.scm diff --git a/gnu/installer.scm b/gnu/installer.scm index 39a83c4455..64f6273c55 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -281,6 +281,18 @@ (define* (installer-steps #:key dry-run?) ((installer-hostname-page current-installer)))) (configuration-formatter hostname->configuration)) + ;; Ask the user to select the kernel for the system, + ;; for x86 systems only. + (installer-step + (id 'kernel) + (description (G_ "Kernel")) + (compute (lambda _ + (if (target-x86?) + ((installer-kernel-page current-installer)) + '()))) + (configuration-formatter (lambda (result) + (kernel->configuration result #$dry-run?)))) + ;; Provide an interface above connmanctl, so that the user can select ;; a network susceptible to acces Internet. (installer-step @@ -419,6 +431,7 @@ (define* (installer-program #:key dry-run?) (gnu installer dump) (gnu installer final) (gnu installer hostname) + (gnu installer kernel) (gnu installer locale) (gnu installer parted) (gnu installer services) @@ -431,6 +444,7 @@ (define* (installer-program #:key dry-run?) (gnu services herd) (guix i18n) (guix build utils) + (guix utils) ((system repl debug) #:select (terminal-width)) (ice-9 match) diff --git a/gnu/installer/final.scm b/gnu/installer/final.scm index 069426a3b8..5fcf223315 100644 --- a/gnu/installer/final.scm +++ b/gnu/installer/final.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2020 Mathieu Othacehe ;;; Copyright © 2019, 2020, 2022 Ludovic Courtès +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ (define-module (gnu installer final) #:use-module (gnu services herd) #:use-module (guix build syscalls) #:use-module (guix build utils) + #:use-module (guix utils) #:use-module (gnu build accounts) #:use-module (gnu build install) #:use-module (gnu build linux-container) @@ -164,8 +166,12 @@ (define* (install-system locale #:key (users '())) "/tmp/installer-system-init-options" read)) (const '()))) - (install-command (append (list "guix" "system" "init" - "--fallback") + (install-command (append `( "guix" "system" "init" + "--fallback" + ,@(if (target-hurd?) + '("--target=i586-pc-gnu" + "--skip-checks") + '())) options (list (%installer-configuration-file) (%installer-target-dir)))) diff --git a/gnu/installer/kernel.scm b/gnu/installer/kernel.scm new file mode 100644 index 0000000000..059659ec75 --- /dev/null +++ b/gnu/installer/kernel.scm @@ -0,0 +1,34 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2024 Janneke Nieuwenhuizen +;;; +;;; 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 kernel) + #:use-module (gnu system hurd) + #:export (kernel->configuration)) + +(define (kernel->configuration kernel dry-run?) + (if (equal? kernel "Hurd") + `((kernel %hurd-default-operating-system-kernel) + (kernel-arguments '("noide")) + (firmware '()) + (hurd hurd) + (locale-libcs (list glibc/hurd)) + (name-service-switch #f) + (essential-services (hurd-default-essential-services this-operating-system)) + (privileged-programs '()) + (setuid-programs %setuid-programs/hurd)) + '())) diff --git a/gnu/installer/newt.scm b/gnu/installer/newt.scm index d53bc058b3..1fe710340f 100644 --- a/gnu/installer/newt.scm +++ b/gnu/installer/newt.scm @@ -25,6 +25,7 @@ (define-module (gnu installer newt) #:use-module (gnu installer newt final) #:use-module (gnu installer newt parameters) #:use-module (gnu installer newt hostname) + #:use-module (gnu installer newt kernel) #:use-module (gnu installer newt keymap) #:use-module (gnu installer newt locale) #:use-module (gnu installer newt menu) @@ -193,6 +194,9 @@ (define (substitutes-page) (define (hostname-page) (run-hostname-page)) +(define (kernel-page) + (run-kernel-page)) + (define (user-page) (run-user-page)) @@ -216,6 +220,7 @@ (define newt-installer (exit-error exit-error) (final-page final-page) (keymap-page keymap-page) + (kernel-page kernel-page) (locale-page locale-page) (menu-page menu-page) (network-page network-page) diff --git a/gnu/installer/newt/kernel.scm b/gnu/installer/newt/kernel.scm new file mode 100644 index 0000000000..3117247312 --- /dev/null +++ b/gnu/installer/newt/kernel.scm @@ -0,0 +1,45 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2024 Janneke Nieuwenhuizen +;;; +;;; 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 kernel) + #:use-module (gnu installer newt page) + #:use-module (guix i18n) + #:use-module (guix utils) + #:export (run-kernel-page)) + +(define (run-kernel-page) + (let* ((kernels `(,@(if (target-x86?) '("Hurd") '()) + "Linux Libre")) + (result + (run-listbox-selection-page + #:title (G_ "Kernel") + #:info-text + (G_ "Please select a kernel. When in doubt, choose \"Linux Libre\". +The Hurd is offered as a technology preview and development aid; many packages \ +are not yet available in Guix, such as a desktop environment or even a windowing \ +system (X, Wayland).") + #:listbox-items kernels + #:listbox-item->text identity + #:listbox-default-item "Linux Libre" + #:button-text (G_ "Back") + #:button-callback-procedure + (lambda _ + (abort-to-prompt 'installer-step 'abort))))) + (when (equal? result "Hurd") + (%current-target-system "i586-pc-gnu")) + result)) diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm index 48dd306080..b88393405b 100644 --- a/gnu/installer/newt/partition.scm +++ b/gnu/installer/newt/partition.scm @@ -26,6 +26,7 @@ (define-module (gnu installer newt partition) #:use-module (gnu installer newt page) #:use-module (gnu installer newt utils) #:use-module (guix i18n) + #:use-module (guix utils) #:use-module (ice-9 format) #:use-module (ice-9 match) #:use-module (srfi srfi-1) @@ -147,6 +148,8 @@ (define (run-fs-type-page) #:title (G_ "File-system type") #:listbox-items '(btrfs ext4 jfs xfs swap + ;; This is for the Hurd + ext2 ;; These lack basic Unix features. Their only use ;; on GNU is for interoperation, e.g., with UEFI. fat32 fat16 ntfs) @@ -767,7 +770,11 @@ (define (run-partitioning-page) (define (run-page devices) (let* ((items `((entire . ,(G_ "Guided - using the entire disk")) - (entire-encrypted . ,(G_ "Guided - using the entire disk with encryption")) + ,@(if (target-hurd?) + '() + `((entire-encrypted + . + ,(G_ "Guided - using the entire disk with encryption")))) (manual . ,(G_ "Manual")))) (result (run-listbox-selection-page #:info-text (G_ "Please select a partitioning method.") diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm index d1035b6524..848683e8c7 100644 --- a/gnu/installer/newt/services.scm +++ b/gnu/installer/newt/services.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019, 2020 Ludovic Courtès -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2021 Tobias Geerinckx-Rice ;;; Copyright © 2021 Leo Famulari ;;; @@ -26,6 +26,7 @@ (define-module (gnu installer newt services) #:use-module (gnu installer newt page) #:use-module (gnu installer newt utils) #:use-module (guix i18n) + #:use-module (guix utils) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:export (run-services-page)) @@ -33,11 +34,13 @@ (define-module (gnu installer newt services) (define (run-desktop-environments-cbt-page) "Run a page allowing the user to choose between various desktop environments." - (let ((items (filter desktop-system-service? %system-services))) + (let ((items (filter desktop-system-service? (%system-services)))) (run-checkbox-tree-page - #:info-text (G_ "Please select the desktop environment(s) you wish to \ + #:info-text (if (target-hurd?) + (G_ "Currently, none of these is available for the Hurd.") + (G_ "Please select the desktop environment(s) you wish to \ install. If you select multiple desktop environments here, you will be able \ -to choose from them later when you log in.") +to choose from them later when you log in.")) #:title (G_ "Desktop environment") #:items items #:selection (map system-service-recommended? items) @@ -51,7 +54,7 @@ (define (run-networking-cbt-page) "Run a page allowing the user to select networking services." (let ((items (filter (lambda (service) (eq? 'networking (system-service-type service))) - %system-services))) + (%system-services)))) (run-checkbox-tree-page #:info-text (G_ "You can now select networking services to run on your \ system.") @@ -69,7 +72,7 @@ (define (run-printing-services-cbt-page) (let ((items (filter (lambda (service) (eq? 'document (system-service-type service))) - %system-services))) + (%system-services)))) (run-checkbox-tree-page #:info-text (G_ "You can now select the CUPS printing service to run on your \ system.") @@ -88,7 +91,7 @@ (define (run-console-services-cbt-page) (let ((items (filter (lambda (service) (eq? 'administration (system-service-type service))) - %system-services))) + (%system-services)))) (run-checkbox-tree-page #:title (G_ "Console services") #:info-text (G_ "Select miscellaneous services to run on your \ @@ -103,7 +106,11 @@ (define (run-console-services-cbt-page) (define (run-network-management-page) "Run a page to select among several network management methods." - (let ((title (G_ "Network management"))) + (let ((title (G_ "Network management")) + (items (filter (lambda (service) + (eq? 'network-management + (system-service-type service))) + (%system-services)))) (run-listbox-selection-page #:title title #:info-text (G_ "Choose the method to manage network connections. @@ -112,10 +119,10 @@ (define (run-network-management-page) client may be enough for a server.") #:info-textbox-width 70 #:listbox-height 7 - #:listbox-items (filter (lambda (service) - (eq? 'network-management - (system-service-type service))) - %system-services) + #:listbox-items `(,@items + ,@(if (target-hurd?) + (list system-service-none) + '())) #:listbox-item->text (compose G_ system-service-name) #:sort-listbox-items? #f #:button-text (G_ "Exit") diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index b36b238d8b..e9a0cc36d0 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -152,7 +152,7 @@ (define-record-type* (crypt-password user-partition-crypt-password ; (default #f)) (fs-type user-partition-fs-type - (default 'ext4)) + (default (if (target-hurd?) 'ext2 'ext4))) (bootable? user-partition-bootable? (default #f)) (esp? user-partition-esp? @@ -228,6 +228,7 @@ (define (efi-installation?) (define (user-fs-type-name fs-type) "Return the name of FS-TYPE as specified by libparted." (case fs-type + ((ext2) "ext2") ((ext4) "ext4") ((btrfs) "btrfs") ((fat16) "fat16") @@ -240,6 +241,7 @@ (define (user-fs-type-name fs-type) (define (user-fs-type->mount-type fs-type) "Return the mount type of FS-TYPE." (case fs-type + ((ext2) "ext2") ((ext4) "ext4") ((btrfs) "btrfs") ((fat16) "vfat") @@ -255,6 +257,7 @@ (define (partition-filesystem-user-type partition) (and fs-type (let ((name (filesystem-type-name fs-type))) (cond + ((string=? name "ext2") 'ext2) ((string=? name "ext4") 'ext4) ((string=? name "btrfs") 'btrfs) ((string=? name "fat16") 'fat16) @@ -296,7 +299,7 @@ (define (partition->user-partition partition) (file-name (partition-get-path partition)) (disk-file-name (device-path device)) (fs-type (or (partition-filesystem-user-type partition) - 'ext4)) + (if (target-hurd?) 'ext2 'ext4))) (mount-point (and (esp-partition? partition) (default-esp-mount-point))) (bootable? (boot-partition? partition)) @@ -1053,7 +1056,7 @@ (define* (auto-partition! disk (size new-esp-size) (mount-point (default-esp-mount-point)))) (user-partition - (fs-type 'ext4) + (fs-type (if (target-hurd?) 'ext2 'ext4)) (bootable? #t) (bios-grub? #t) (size bios-grub-size)))) @@ -1065,13 +1068,13 @@ (define* (auto-partition! disk `(,@(if start-partition `(,start-partition) '()) - ,@(if encrypted? + ,@(if (or encrypted? (target-hurd?)) '() `(,(user-partition (fs-type 'swap) (size swap-size)))) ,(user-partition - (fs-type 'ext4) + (fs-type (if (target-hurd?) 'ext2 'ext4)) (bootable? has-extended?) (crypt-label (and encrypted? "cryptroot")) (size "100%") @@ -1083,7 +1086,7 @@ (define* (auto-partition! disk `(,start-partition) '()) ,(user-partition - (fs-type 'ext4) + (fs-type (if (target-hurd?) 'ext2 'ext4)) (bootable? has-extended?) (crypt-label (and encrypted? "cryptroot")) (size "33%") @@ -1105,7 +1108,7 @@ (define* (auto-partition! disk (type (if has-extended? 'logical 'normal)) - (fs-type 'ext4) + (fs-type (if (target-hurd?) 'ext2 'ext4)) (crypt-label (and encrypted? "crypthome")) (size "100%") (mount-point "/home"))))))) @@ -1186,6 +1189,15 @@ (define (create-btrfs-file-system partition) "Create a btrfs file-system for PARTITION file-name." ((%run-command-in-installer) "mkfs.btrfs" "-f" partition)) +(define (create-ext2-file-system partition) + "Create an ext2 file-system for PARTITION file-name, when TARGET-HURD?, +for the Hurd." + (apply (%run-command-in-installer) + `("mkfs.ext2" ,@(if (target-hurd?) + '("-o" "hurd") + '()) + "-F" ,partition))) + (define (create-ext4-file-system partition) "Create an ext4 file-system for PARTITION file-name." ;; Enable the 'large_dir' feature so users can have a store of several TiBs. @@ -1291,6 +1303,10 @@ (define (format-user-partitions user-partitions) (and need-formatting? (not (eq? type 'extended)) (create-btrfs-file-system file-name))) + ((ext2) + (and need-formatting? + (not (eq? type 'extended)) + (create-ext2-file-system file-name))) ((ext4) (and need-formatting? (not (eq? type 'extended)) @@ -1463,7 +1479,11 @@ (define (bootloader-configuration user-partitions) "Return the bootloader configuration field for USER-PARTITIONS." (let ((root-partition (find root-user-partition? user-partitions))) (match user-partitions - (() '()) + (() (if (target-hurd?) + '(bootloader-configuration + (bootloader grub-minimal-bootloader) + (targets "/dev/sdaX")) + '())) (_ (let ((root-partition-disk (user-partition-disk-file-name root-partition))) @@ -1471,7 +1491,9 @@ (define (bootloader-configuration user-partitions) ,@(if (efi-installation?) `((bootloader grub-efi-bootloader) (targets (list ,(default-esp-mount-point)))) - `((bootloader grub-bootloader) + `((bootloader ,(if (target-hurd?) + 'grub-minimal-bootloader + 'grub-bootloader)) (targets (list ,root-partition-disk)))) ;; XXX: Assume we defined the 'keyboard-layout' field of @@ -1491,22 +1513,28 @@ (define (user-partition-missing-modules user-partitions) (const '()))) (delete-duplicates (map user-partition-file-name - (cons root devices))))))) + (filter identity + (cons root devices)))))))) (define (initrd-configuration user-partitions) "Return an 'initrd-modules' field with everything needed for USER-PARTITIONS, or return nothing." - (match (user-partition-missing-modules user-partitions) - (() - '()) - ((modules ...) - `((initrd-modules (append ',modules - %base-initrd-modules)))))) + (if (target-hurd?) + '((initrd #f) + (initrd-modules '())) + (match (user-partition-missing-modules user-partitions) + (() + '()) + ((modules ...) + `((initrd-modules (append ',modules + %base-initrd-modules))))))) (define (user-partitions->configuration user-partitions) "Return the configuration field for USER-PARTITIONS." (let* ((swap-user-partitions (find-swap-user-partitions user-partitions)) - (swap-devices (map user-partition-file-name swap-user-partitions)) + (swap-devices (if (target-hurd?) + '() + (map user-partition-file-name swap-user-partitions))) (encrypted-partitions (filter user-partition-crypt-label user-partitions))) `((bootloader ,@(bootloader-configuration user-partitions)) diff --git a/gnu/installer/record.scm b/gnu/installer/record.scm index 334af44a0c..22adad279c 100644 --- a/gnu/installer/record.scm +++ b/gnu/installer/record.scm @@ -30,6 +30,7 @@ (define-module (gnu installer record) installer-exit installer-exit-error installer-final-page + installer-kernel-page installer-keymap-page installer-locale-page installer-menu-page @@ -69,6 +70,8 @@ (define-record-type* (exit-error installer-exit-error) ;; procedure void -> void (final-page installer-final-page) + ;; procedure void -> void + (kernel-page installer-kernel-page) ;; procedure (layouts context) -> (list layout variant options) (keymap-page installer-keymap-page) ;; procedure: (#:key supported-locales iso639-languages iso3166-territories) diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm index 1cb9dc579c..d5a382606c 100644 --- a/gnu/installer/services.scm +++ b/gnu/installer/services.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019, 2022 Ludovic Courtès -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2021 Tobias Geerinckx-Rice ;;; Copyright © 2021 Leo Famulari ;;; Copyright © 2023 Denys Nykula @@ -24,6 +24,7 @@ (define-module (gnu installer services) #:use-module (guix records) #:use-module (guix read-print) + #:use-module (guix utils) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (system-service? @@ -34,6 +35,7 @@ (define-module (gnu installer services) system-service-packages desktop-system-service? + system-service-none %system-services system-services->configuration)) @@ -55,7 +57,13 @@ (define-record-type* (packages system-service-packages ;list of sexps (default '()))) -(define %system-services +(define system-service-none + (system-service + (name (G_ "None")) + (type 'network-management) + (snippet '()))) + +(define (%system-services) (let-syntax ((desktop-environment (syntax-rules () ((_ fields ...) (system-service @@ -105,7 +113,11 @@ (define %system-services (G_ "\ ;; To configure OpenSSH, pass an 'openssh-configuration' ;; record as a second argument to 'service' below.\n")) - (service openssh-service-type)))) + ,(if (target-hurd?) + '(service openssh-service-type + (openssh-configuration + (openssh openssh-sans-x))) + '(service openssh-service-type))))) (system-service (name (G_ "Tor anonymous network router")) (type 'networking) @@ -115,7 +127,7 @@ (define %system-services (system-service (name (G_ "Network time service (NTP), to set the clock automatically")) (type 'administration) - (recommended? #t) + (recommended? (not (target-hurd?))) (snippet '((service ntp-service-type)))) (system-service (name (G_ "GPM mouse daemon, to use the mouse on the console")) @@ -154,8 +166,12 @@ (define (system-services->configuration services) (packages (append-map system-service-packages services)) (desktop? (find desktop-system-service? services)) (base (if desktop? - '%desktop-services - '%base-services)) + (if (target-hurd?) + '%desktop-services/hurd + '%desktop-services) + (if (target-hurd?) + '%base-services/hurd + '%base-services))) (native-console-font (match (getenv "LANGUAGE") ((or "be" "bg" "el" "eo" "kk" "ky" "mk" "mn" "ru" "sr" "tg" "uk") @@ -181,18 +197,28 @@ (define (system-services->configuration services) (if (null? snippets) `(,@(if (null? packages) - '() + (if (target-hurd?) + `(,@package-heading + (packages %base-packages/hurd)) + '()) `(,@package-heading (packages (append (list ,@packages) - %base-packages)))) + ,(if (target-hurd?) + '%base-packages/hurd + '%base-packages))))) ,@service-heading (services ,services)) `(,@(if (null? packages) - '() + (if (target-hurd?) + `(,@package-heading + (packages %base-packages/hurd)) + '()) `(,@package-heading (packages (append (list ,@packages) - %base-packages)))) + ,(if (target-hurd?) + '%base-packages/hurd + '%base-packages))))) ,@service-heading (services (append (list ,@snippets diff --git a/gnu/installer/steps.scm b/gnu/installer/steps.scm index de0a852f02..34dd14c9d5 100644 --- a/gnu/installer/steps.scm +++ b/gnu/installer/steps.scm @@ -23,6 +23,7 @@ (define-module (gnu installer steps) #:use-module (guix build utils) #:use-module (guix i18n) #:use-module (guix read-print) + #:use-module (guix utils) #:use-module (gnu installer utils) #:use-module (ice-9 match) #:use-module (srfi srfi-1) @@ -240,17 +241,20 @@ (define (format-configuration steps results) ,(comment (G_ "\ ;; Indicate which modules to import to access the variables ;; used in this configuration.\n")) - (use-modules (gnu)) + ,@(if (target-hurd?) + '((use-modules (gnu) (gnu system hurd)) + (use-package-modules hurd ssh)) + '((use-modules (gnu)))) (use-service-modules cups desktop networking ssh xorg)))) `(,@modules ,(vertical-space 1) (operating-system ,@configuration)))) (define* (configuration->file configuration - #:key (filename (%installer-configuration-file))) - "Write the given CONFIGURATION to FILENAME." - (mkdir-p (dirname filename)) - (call-with-output-file filename + #:key (file-name (%installer-configuration-file))) + "Write the given CONFIGURATION to FILE-NAME." + (mkdir-p (dirname file-name)) + (call-with-output-file file-name (lambda (port) ;; TRANSLATORS: This is a comment within a Scheme file. Each line must ;; start with ";; " (two semicolons and a space). Please keep line diff --git a/gnu/local.mk b/gnu/local.mk index 6d0c20f5be..8d35272bc8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -859,6 +859,7 @@ INSTALLER_MODULES = \ %D%/installer/final.scm \ %D%/installer/hardware.scm \ %D%/installer/hostname.scm \ + %D%/installer/kernel.scm \ %D%/installer/keymap.scm \ %D%/installer/locale.scm \ %D%/installer/newt.scm \ @@ -877,6 +878,7 @@ INSTALLER_MODULES = \ %D%/installer/newt/final.scm \ %D%/installer/newt/parameters.scm \ %D%/installer/newt/hostname.scm \ + %D%/installer/newt/kernel.scm \ %D%/installer/newt/keymap.scm \ %D%/installer/newt/locale.scm \ %D%/installer/newt/menu.scm \ diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 283bae6f10..9a351529e8 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -48,6 +48,7 @@ (define-module (gnu system hurd) #:export (%base-packages/hurd %base-services/hurd %base-services+qemu-networking/hurd + %desktop-services/hurd %hurd-default-operating-system %hurd-default-operating-system-kernel %setuid-programs/hurd)) @@ -107,6 +108,8 @@ (define %base-services+qemu-networking/hurd %qemu-static-networking)) %base-services/hurd)) +(define %desktop-services/hurd %base-services/hurd) + (define %setuid-programs/hurd ;; Default set of setuid-root programs. (map file-like->setuid-program From patchwork Mon Oct 21 08:17:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69249 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 54FBE27BBEA; Mon, 21 Oct 2024 09:19:05 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 1DD8727BBE2 for ; Mon, 21 Oct 2024 09:19:05 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2ncf-0000W4-GQ; Mon, 21 Oct 2024 04:18:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2ncd-0000Tw-Ns for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:40 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2ncd-0003ah-DX; Mon, 21 Oct 2024 04:18:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=Ppe8hOhH87LBYDPktBYAQOvm/YbN/xHgkOUNWh7OPSQ=; b=G9Xuwl2iLRZ3fy/Wy/4QpgR98DiPZSDXAGE4tylCRRpMjqTDSTUZ2Oj0jL+JQmzL76CUFWg4eW/WuPibVTQEFjBUeCEV6HNmHBoEjvRDmTbRj1acXrY3ee4wCD8fBOGvJImxxlhs44Kze/wVEOhR9/GRhjjDntT/UKHUL8mXf9veQInZYJSc6xbXNT7bWMBj/PgXHPBLsqVkUk1oDYoKq66C/SDyO1UJRUcfqoTchL57ytUTuO/yBrUNKO68Am6Blb9JKPIgVrGDeGGDRyuiF/wkgALhRKKQCXhej/2feXfk+8Q9IbeR6i1gbUYiZMf7q+lbBZ/72M4h4Hc51/0h2Q==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nd3-0003k3-JM; Mon, 21 Oct 2024 04:19:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 15/16] installer: Add static-networking template. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:19:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Cc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe X-Debbugs-Original-Xcc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949870114263 (code B ref 73927); Mon, 21 Oct 2024 08:19:05 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:21 +0000 Received: from localhost ([127.0.0.1]:50039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncK-0003hs-PS for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:21 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36424) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncA-0003fv-6X for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:10 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbe-0003Ty-Hc; Mon, 21 Oct 2024 04:17:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=Ppe8hOhH87LBYDPktBYAQOvm/YbN/xHgkOUNWh7OPSQ=; b=qLDaqec1vxSbJZjzZ1yk Z/W6GMBZ74b7bZCb3y5nZvVS5CRx2NkxzEbgjUyXQzc7ZTiD1hx9Rc/bkHH/9VeAJGx68b6JBzlqw Iuf3JZ5w7ftUR6CHanz+Rn7yJMwLpZ3DGZoIMMtgAE6YpU/KVbEMFOl/5C6XqHbi5Yg1RX/Zn54qT vV5UAW1XPS1wxv52KHiVaxRfE0PhmNS19A7vVVWrHS5rPH1y1to7YPu2AIHw8Ih8V4xCm7LM7oCeA WcOKQ4Oa7dcL+iee2uZWorITrXeqC+Hk+umekFZrbCp8drgOigoy8iJr1gOdPeOhPn/zKZKCN8Rn2 t0WUoTDTYoMw/Q==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:11 +0200 Message-ID: X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/installer/services.scm (%system-services): Add static-networking-service-type. Change-Id: Iec6336f8d1f49e8b801e978d5c9eeb4f83a6e748 --- gnu/installer/services.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm index d5a382606c..8b117d9a20 100644 --- a/gnu/installer/services.scm +++ b/gnu/installer/services.scm @@ -149,6 +149,28 @@ (define (%system-services) (name (G_ "DHCP client (dynamic IP address assignment)")) (type 'network-management) (snippet '((service dhcp-client-service-type)))) + (system-service + (name (G_ "Static networking service.")) + (type 'network-management) + (snippet `((service + static-networking-service-type + (list %loopback-static-networking + (static-networking + (addresses + (list + (network-address + (device "eth0") + ,(comment (G_ ";; Fill-in your IP.\n")) + (value "192.168.178.10/24")))) + (routes + (list (network-route + (destination "default") + ,(comment (G_ ";; Fill-in your gateway IP.\n")) + (gateway "192.168.178.1")))) + (requirement '()) + (provision '(networking)) + ,(comment (G_ ";; Fill-in your nameservers.\n")) + (name-servers '("192.168.178.1")))))))) ;; Dealing with documents. (system-service From patchwork Mon Oct 21 08:17:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69245 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 19A5627BBEA; Mon, 21 Oct 2024 09:18:48 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 9DAF927BBE2 for ; Mon, 21 Oct 2024 09:18:46 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t2ncg-0000Wl-OJ; Mon, 21 Oct 2024 04:18:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2ncf-0000VH-2H for guix-patches@gnu.org; Mon, 21 Oct 2024 04:18:41 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t2nce-0003bI-MY; Mon, 21 Oct 2024 04:18:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=UD0FCWC596sW0UY4a+ZDml1YISyYWhbrNqPqCxOOTZc=; b=d8zBQ38wcZ4CngG3gWCJBI6jbIjcfm/a6M7livNrJU/XEnC92rNpvSKIH8L7A7ix4Wx1AKJUwYuDd5JqH4tQjUnzT4T51ZLQm75LSvFp2bwN0crf129Ow2+j2ftTA8JZ57IxOvFzPIrZmBwixy6uSJbV/hnY+iAk4y7obLQIYTk1A8eTWGyXsMJktzYMIcZtwMQS2y0R3C4C6H/uDT8IepGWoHpFpNzqZts6n/r3L7eKdsoHViXfm+sg+b601woL+9fBS9cjyK8glUSm3584WWqvfdam6hqCdZqkZ21yiWeVHgLQaVg1tZXb6Jn7IqT2d6HHG4B6NCdJg53PSa0dkQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t2nd4-0003kL-Rh; Mon, 21 Oct 2024 04:19:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH 16/16] DRAFT installer: Support dry-run from Guile via store. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2024 08:19:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73927 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73927@debbugs.gnu.org Cc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe X-Debbugs-Original-Xcc: Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.172949870314280 (code B ref 73927); Mon, 21 Oct 2024 08:19:06 +0000 Received: (at 73927) by debbugs.gnu.org; 21 Oct 2024 08:18:23 +0000 Received: from localhost ([127.0.0.1]:50043 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncN-0003iE-4N for submit@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:23 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36428) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ncB-0003gA-5n for 73927@debbugs.gnu.org; Mon, 21 Oct 2024 04:18:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2nbf-0003UF-Lb; Mon, 21 Oct 2024 04:17:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=UD0FCWC596sW0UY4a+ZDml1YISyYWhbrNqPqCxOOTZc=; b=jYl/1++HaL2ndP6wfaAs Bh3vqYFB6Zbz3CVsUofnu4iRFO+/nl99siAF7dYK238R1TOObuYWI+DeOhYyQXXFxrSJncYaabmht zBfWajI1eHiQHML25egl1h3I/HZElotEA9i4Dgtk2whhJPM3pbUJZMjoS+z+3f4rFD3hkcI/by3Kr PB4OePEyY0NLsZW8HZHtSknNdxnFCFQW1UN6+oGoqAy77PgaX+VL4XO1I7qTb3eAAY6UV8glCc8ia xyQwn/66BvtLcQ3fxJ0TkOvVcwCizEEP26iiqEo7jHDlumXxnGqwrZI9t94xicKdbn5Iu6IB8rXTh d0w9oZimvGkS0g==; From: Janneke Nieuwenhuizen Date: Mon, 21 Oct 2024 10:17:12 +0200 Message-ID: <623ba69960b842b24ec321b155ea722221c75ea8.1729494414.git.janneke@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches This supports running the installer quasi-directly from Guile by only building a Guile installer-script in the store. Do something like: ./pre-inst-env guile -c '((@ (gnu installer) run-installer) #:dry-run? #t)' sudo -E ./pre-inst-env guile -c '((@ (gnu installer) run-installer))' * gnu/installer.scm (installer-script, run-installer): New procedures. Change-Id: I8cc1746845ec99f738e35fa91bb2342a674cfa88 --- gnu/installer.scm | 84 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 82 insertions(+), 2 deletions(-) diff --git a/gnu/installer.scm b/gnu/installer.scm index 64f6273c55..617578665e 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -21,10 +21,14 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu installer) + #:use-module (guix build utils) + #:use-module (guix derivations) #:use-module (guix discovery) - #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix modules) + #:use-module (guix monads) + #:use-module (guix packages) + #:use-module (guix store) #:use-module (guix utils) #:use-module (guix ui) #:use-module ((guix self) #:select (make-config.scm)) @@ -56,7 +60,9 @@ (define-module (gnu installer) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (web uri) - #:export (installer-program)) + #:export (installer-program + installer-steps + run-installer)) (define module-to-import? ;; Return true for modules that should be imported. For (gnu system …) and @@ -562,3 +568,77 @@ (define* (installer-program #:key dry-run?) (execl #$(program-file "installer-real" installer-builder #:guile guile-3.0-latest) "installer-real")))) + +(define* (installer-script #:key dry-run? + (steps (installer-steps #:dry-run? dry-run?))) + (program-file + "installer-script" + #~(begin + (use-modules (gnu installer) + (gnu installer record) + (gnu installer keymap) + (gnu installer steps) + (gnu installer dump) + (gnu installer final) + (gnu installer hostname) + (gnu installer kernel) + (gnu installer locale) + (gnu installer parted) + (gnu installer services) + (gnu installer timezone) + (gnu installer user) + (gnu installer utils) + (gnu installer newt) + ((gnu installer newt keymap) + #:select (keyboard-layout->configuration)) + (gnu services herd) + (guix i18n) + (guix build utils) + (guix utils) + ((system repl debug) + #:select (terminal-width)) + (ice-9 match) + (ice-9 textual-ports)) + (terminal-width 200) + (let* ((current-installer newt-installer) + (steps (#$steps current-installer))) + (catch #t + (lambda _ + ((installer-init current-installer)) + (parameterize ((%run-command-in-installer + (if #$dry-run? + dry-run-command + (installer-run-command current-installer))) + (%installer-configuration-file + (if #$dry-run? + "config.scm" + (%installer-configuration-file)))) + (let ((results (run-installer-steps + #:rewind-strategy 'menu + #:menu-proc + (installer-menu-page current-installer) + #:steps steps + #:dry-run? #$dry-run?))) + (result-step results 'final)))) + (const #f) + (lambda (key . args) + (sleep 10) + ((installer-exit current-installer)) + (display-backtrace (make-stack #t) (current-error-port)) + (apply throw key args))))))) + +(define* (run-installer #:key dry-run?) + "To run the installer from Guile without building it: + ./pre-inst-env guile -c '((@ (gnu installer) run-installer) #:dry-run? #t)' +when using #:dry-run? #t, no root access is required and the LOCALE, KEYMAP, +and PARTITION pages are skipped." + (let* ((script (installer-script #:dry-run? dry-run?)) + (store (open-connection)) + (drv (run-with-store store + (lower-object script))) + (program (match (derivation->output-paths drv) + ((("out" . program)) program))) + (outputs (build-derivations store (list drv)))) + (close-connection store) + (format #t "running installer: ~a\n" program) + (invoke "./pre-inst-env" "guile" program)))