From patchwork Wed Oct 30 14:30:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69633 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 AB51C27BBE9; Wed, 30 Oct 2024 14:34:34 +0000 (GMT) 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 DE18427BBE2 for ; Wed, 30 Oct 2024 14:34:32 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69ls-0002Av-F5; Wed, 30 Oct 2024 10:34:04 -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 1t69lq-0002AO-SM for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:02 -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 1t69lq-0003cI-JU for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:02 -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=q6txwJN9CfhV3EkWBRA1XzncYRUDlSbnzIZ2HGYsg08=; b=cmorBchXL06EHKLEZkEek77k55TdKtk3Jgf0M/p7oO9HYQgDK34t6T8xrq0wNkihdPeunG2aTwBBOF7oRj8kPyHD/lvMI7tfs22SZZgTm1NDeyLdYGmxuHBXOKmoI8Oye6vHBmyzls8BM3dQYvOosfjHEejG9/tCex740zm6nhRLVaautQlkpukhbwNsfAISY+U86QRRZ0ELDaBrPbk4ZvW732KkEbZ1KX0vs/O6L+6pkgWPs25ipq7l0amqmLCOMxLlV89F3klPq1nyF2lRCGTUhJsQXhtXuCMd9yl/cicrGUuNSV0qb/WdSa116oIurfKdSGAUUMTsvCXWysqLUg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lq-0003xo-74 for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 01/18] gnu: guile-fibers: Fix cross-build for the Hurd. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 30 Oct 2024 14:34: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.173029880515047 (code B ref 73927); Wed, 30 Oct 2024 14:34:02 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:25 +0000 Received: from localhost ([127.0.0.1]:35295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lB-0003uB-Pp for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36108) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69l7-0003tb-5x for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:19 -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 1t69iw-0003KJ-OW; Wed, 30 Oct 2024 10:31:02 -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=q6txwJN9CfhV3EkWBRA1XzncYRUDlSbnzIZ2HGYsg08=; b=aaVdvn94dl9NNshGOscx yRapAq+RMxzkucjBcICJftz7b9/MiZc/41/kw2FxSf7iPx5Dd4MrlRgEHMMIf2S2dxJ/huUWSsCgj 6ilYPOS75R/z6yOgs3nGT8ASMLQv4Dr/9W+VdFwobZIThLLPMOFGdeFJilC2w8uShqVul9xbCWBsz TcOvz/dkIxRu0uisochLe/TxLCpLYpppJG8mDQ5TpImaNheniR0DGpsFQpRvKZadzweKsnDQuCjCC PTxuaJgljoSDoKPhKveZ8c5+KQt4lcohu27zWxDRkJUxg4CktPD0Tao1HC8Xyqrb+MKpptMuJX4Td fiTb+ZkYmwnyTg==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:30 +0100 Message-ID: <839cf9a07b8a3b4b085058cc669040e4dbc6b42f.1730296564.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/packages/guile-xyz.scm (guile-fibers): When cross-building for the Hurd, add "fix-env" phase. Change-Id: Iebe12941bbfb2f5a6208f9364115e95f10e82ed6 --- gnu/packages/guile-xyz.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 5f34ea98a6..06d3b59dc3 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017, 2021 Alex Kost ;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira ;;; Copyright © 2016, 2021 Amirouche -;;; Copyright © 2016, 2019, 2021, 2023 Janneke Nieuwenhuizen +;;; Copyright © 2016, 2019, 2021, 2023, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2017 David Thompson ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe @@ -875,7 +875,14 @@ (define-public guile-fibers (substitute* "tests/basic.scm" ((".*spawn-fiber-chain 5000000.*") "")) (substitute* "tests/channels.scm" - ((".*assert-run-fibers-terminates .*pingpong.*") ""))))))))) + ((".*assert-run-fibers-terminates .*pingpong.*") ""))))) + #$@(if (and (target-hurd?) (%current-target-system)) + #~((add-before 'build 'fixup-env + (lambda _ + (substitute* "env" + ((".*override.*" all) + (string-append "true #" all)))))) + '()))))) (native-inputs (list texinfo pkg-config autoconf-2.71 automake libtool guile-3.0 ;for 'guild compile From patchwork Wed Oct 30 14:30:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69640 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 5167127BBE2; Wed, 30 Oct 2024 14:34:58 +0000 (GMT) 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 EEC1B27BBE9 for ; Wed, 30 Oct 2024 14:34:57 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69m1-0002Ff-I9; Wed, 30 Oct 2024 10:34:13 -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 1t69lw-0002Dc-Ky for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:08 -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 1t69lw-0003dr-9g; Wed, 30 Oct 2024 10:34:08 -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=I+C+6Dj1zp6oNcFaSE4cVC+7aebqI8fUIIxrJPvfWdI=; b=nLUmSNJLdhdxUsygUBhKg1sdjQw2Yx4lidPnJsV9DjOOV0EFNbdykZfwhDPcXDKYshmEWrIH8hPR+v010q4OnMwQbWQDN/byqIVsVGNp/aruCZsymgTzzb2JHGYmUyHno4qxDj7H0ZvynuGtEHkL5dZT+49zyoANHzaEbHgJqhaZJVZ4w/ij5iPsfdEEj+G3emoEyRvM5+67l+SWvq+j5iKpxeLvvmZdYttx+QULsrcEbYkYLq4zXRCK4ARL3fArP29d59ISIGjRJeE8lPJXkUgf8mgSVirbgQWuhvDqWfj783cFOoaAc0FtuATtIXF5k3ugaMat+RQyRKI3prcjuQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lq-0003xv-Sw; Wed, 30 Oct 2024 10:34:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 02/18] reconfigure: Use native bootloader package for running the installer. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix@cbaines.net, dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, zimon.toutoune@gmail.com, me@tobias.gr, guix-patches@gnu.org Resent-Date: Wed, 30 Oct 2024 14:34: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: Christopher Baines , Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe , Simon Tournier , Tobias Geerinckx-Rice X-Debbugs-Original-Xcc: Christopher Baines , Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe , Simon Tournier , Tobias Geerinckx-Rice Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.173029880615054 (code B ref 73927); Wed, 30 Oct 2024 14:34:02 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:26 +0000 Received: from localhost ([127.0.0.1]:35301 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lF-0003uj-AK for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36110) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69l9-0003tj-7K for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:19 -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 1t69iy-0003KW-3e; Wed, 30 Oct 2024 10:31:04 -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=I+C+6Dj1zp6oNcFaSE4cVC+7aebqI8fUIIxrJPvfWdI=; b=jbBEWhwJ6OIcOzSrgwlI 5OstrLZQ6gDk8oHlRcKkZGvVZwMHH28p3ZY2qaeOc7O73ngdYvPyXQhrWdhhgefTj1NnxjLEY2Oeo uFdRE+T27+d5TUP8mpN9YtOOx1Hi2HN+srvngMc/o2mrouWZSNulVmXWSlm5VKKyAQn27HmID/Q/E ILSNR4CyKykEnMHMobv0Vi2MfpGs9fBMfnDJqto5hxXy0r4e7qFlay07J1qKjZrHluLyACVRYh0/d LZVqlg92n+IsC3e7GUfOf5BOqLpqk1dtOdZFDRYKIO0ZVCFEUFIXjcE3rxT/vyi1syZM76x9RSVzY LUqfvy9RI09NUg==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:31 +0100 Message-ID: <8772fc6a589621f7a343ac7432ebc705cd8dfac6.1730296564.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 fixes running grub-install when using guix system init --target. * guix/scripts/system/reconfigure.scm (install-bootloader): Use native package when invoking install-bootloader-program. Change-Id: I48d80a8dff866ada3625d827dd3036fb966eee9a --- guix/scripts/system/reconfigure.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/scripts/system/reconfigure.scm b/guix/scripts/system/reconfigure.scm index 604ba08fee..ddb561d28c 100644 --- a/guix/scripts/system/reconfigure.scm +++ b/guix/scripts/system/reconfigure.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019 Christopher Baines ;;; Copyright © 2019 Jakob L. Kreuze ;;; Copyright © 2022 Arun Isaac +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -299,7 +300,7 @@ (define* (install-bootloader eval configuration bootcfg (eval #~(parameterize ((current-warning-port (%make-void-port "w"))) (primitive-load #$(install-bootloader-program installer disk-installer - package + #~#+package bootcfg bootcfg-file devices From patchwork Wed Oct 30 14:30:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69636 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 54FED27BBE9; Wed, 30 Oct 2024 14:34:51 +0000 (GMT) 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 F0C7527BBE2 for ; Wed, 30 Oct 2024 14:34:50 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69lz-0002EG-7M; Wed, 30 Oct 2024 10:34:11 -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 1t69ls-0002BD-V4 for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:05 -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 1t69ls-0003cj-KW; Wed, 30 Oct 2024 10:34:04 -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=0ODjLb2KfeycSHUPsx7Dr3080lMtxc6nfVL+zj5fd2E=; b=CjgKzi1En1B0i84Egw4sMrkJH8INPx1+Yi4t1Lt6glTTGsl7/ms7JCom+101L48MWyQT9/OQ1DXmRfIfz0pgFXq5E5I9GOY6h9UkcJdZtA4kmSlLGvIOGh0cQ6F/ja5RcrRGHbupX6b8LsPR6eH9ll4eMCR6G5b5H8rSF0MXgwFT7a9bK7cYO65P3DZISMaMD0mZBmFcYcKDSy6h+nJ+uK9I8CmnfZf7QrarVtSncvPb3mFywDirIiBLOdL9tOXpsqCL+5ZKYT7190UXgSNQNy4vf23cfU5ecozTyOCYVDlE/kwzhcBwIyVaeOyji/EA8kI5tBAvm1mtFA445UW6nQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lr-0003y8-Sc; Wed, 30 Oct 2024 10:34:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 03/18] guix system: When installing the Hurd, create essential devices. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix@cbaines.net, dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, zimon.toutoune@gmail.com, me@tobias.gr, guix-patches@gnu.org Resent-Date: Wed, 30 Oct 2024 14:34: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: Christopher Baines , Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe , Simon Tournier , Tobias Geerinckx-Rice X-Debbugs-Original-Xcc: Christopher Baines , Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe , Simon Tournier , Tobias Geerinckx-Rice Received: via spool by 73927-submit@debbugs.gnu.org id=B73927.173029881615117 (code B ref 73927); Wed, 30 Oct 2024 14:34:03 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:36 +0000 Received: from localhost ([127.0.0.1]:35321 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lP-0003ve-Uo for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:36 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36128) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lB-0003tm-9h for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:22 -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 1t69iz-0003Kh-Cn; Wed, 30 Oct 2024 10:31:05 -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=0ODjLb2KfeycSHUPsx7Dr3080lMtxc6nfVL+zj5fd2E=; b=YxU+tRC8u/wfMpXt869+ QzP14lN5LLtUJFi/DaFko7cSIJVV/eSI5rsQV6uKxt378AH4TX7RWrgCjekH/09O1QBQCasC872FP SkdHbDJbriOANAle8tmFXk05L1KETL4dzGXoICUlZ04iMbQhrgmSGRUYESftkNsEZMdHeO8UB9n9a kg132l1dx3YHRugUzmtqBhDHM199PvH6enAxs8w58bACHUzPsxMmz0f15univF2DG1M4as1HjpbYc PHy3Y7av97v4u406ey8nc8ZYyNlowCCH5wnVH10jNNwk0nWfgxRXTnr94ivMmWbNeWq/Wi9bezV3q r4uarQNeNZkOtw==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:32 +0100 Message-ID: <33174bdd45dd10b2aab98cd02d2f462ac91fc1e6.1730296564.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 * guix/scripts/system.scm (install): When installing the Hurd, invoke `make-hurd-device-nodes'. Change-Id: If84d5fe0b5bf4a93452f0b5241650f325d583543 --- guix/scripts/system.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 99c58f3812..7989b183ad 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Christopher Baines -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2020 Julien Lepiller ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2021 Brice Waegeneire @@ -63,6 +63,7 @@ (define-module (guix scripts system) #:autoload (guix progress) (progress-reporter/bar call-with-progress-reporter) #:use-module ((guix docker) #:select (%docker-image-max-layers)) + #:use-module (gnu build hurd-boot) #:use-module (gnu build image) #:use-module (gnu build install) #:autoload (gnu build file-systems) @@ -243,6 +244,9 @@ (define* (install os-drv target (delete-file-recursively state))) (chmod target #o755) + ;; For the Hurd to boot, it needs some essential device nodes. + (when (target-hurd?) + (make-hurd-device-nodes target)) (let ((os-dir (derivation->output-path os-drv)) (format (lift format %store-monad)) (populate (lift2 populate-root-file-system %store-monad))) From patchwork Wed Oct 30 14:30:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69641 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 0226727BBEA; Wed, 30 Oct 2024 14:35:03 +0000 (GMT) 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 4276227BBE2 for ; Wed, 30 Oct 2024 14:35:02 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69lt-0002BS-Hn; Wed, 30 Oct 2024 10:34:05 -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 1t69lr-0002AW-Rk for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:03 -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 1t69lr-0003cR-J9 for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:03 -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=PCHfJ+x7JxS1mpKlA8fulki7WawwnG8104M1/8w/USo=; b=RKgLACqPRErxRqRVWzZ/MWj5sRqWmR7AnFGe4QfnK7DVQubwtolZeDoHchbZAyxp6I3vaWi3hklnmw38icMHqExcZ7Uqj5hlP5FAYt5WwiMtFEk04otpSCT62glXX82KqKCTxXHKHH1bUtCXW3/cId0QCzaQ+VUgpFJOROeqvHSJBjhuckaDoenARMy4mdLC3vqwym9wMXX5r/mFxo51OEvauirarg1jHMxxo8LF4SWuRz54sq940VC0u9qwpQU6DLeyufX6KPFpprbhjDLHms3KR76RavBMHrHnTm3yRmcncU1tjuMO2fngEon754x9JE1BFbkeHi1v80Wfeeui8A==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lr-0003y1-CN for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 04/18] bootloader: grub: Remove hardcoded partition number for the Hurd. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 30 Oct 2024 14:34: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.173029881615109 (code B ref 73927); Wed, 30 Oct 2024 14:34:03 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:36 +0000 Received: from localhost ([127.0.0.1]:35319 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lO-0003vR-2T for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:35 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36116) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lB-0003tl-9g for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:22 -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 1t69j0-0003Kp-Am; Wed, 30 Oct 2024 10:31:06 -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=PCHfJ+x7JxS1mpKlA8fulki7WawwnG8104M1/8w/USo=; b=knfbd/v34ADpcQYrPT2M xQtLem9KnpsHr2mvN+eRG91PC+Bz4twVRb+bUb6wAhyjr+haNTjx+kWXT7yLMZM3gAQbEmFpcsdfk j1kggqAg7zy9n+L8BJTGfzmpzFwQ3aI2n9xerBUn3B5PJOfaK3P7L0U4W7CWAz1GM+yE0L6wJl6rl /OI4ShcOVcF2X+EA/T1wKUNzYDhu6IWXhC+HOG6anQMeOKd+aXl0X4n4fHoH4j7znYO1htDqsCevI 0Iu8aTbcm/9VUcqTdlEtfcVPjGnL3jMDFBIP/lkjZacjOVEO8m1CUI/7My5JLD+rVThMxTLpy1KlA X8GN2FCSTFBy/g==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:33 +0100 Message-ID: <3952b98b312119adb5456f255a3c6b0bf7294f95.1730296564.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 using another than the default DISK0 PART1 and using LABEL or UUID as root file-system specifier. It still defaults to DISK0 PART1 if the file-system cannot be found, i.e., lives only at the build side: A virtual machine/childhurd build. * gnu/build/file-systems.scm (%hurd-device-spec-regexp, %device-spec-regexp): New variables. (device-name->hurd-device-name, hurd-device-name->device-name, device-spec->device, device-spec->device-name): Use them in new procedures. * gnu/bootloader/grub.scm (make-grub-configuration): Use them to remove hardcoded partition number (root-index 1). Change-Id: I49fa93dacc09883dfb4d695402c5eac2e0e17286 --- gnu/bootloader/grub.scm | 19 +++++++++---- gnu/build/file-systems.scm | 58 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 6 deletions(-) diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 2723eda5f4..ef516b1e13 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017, 2020 Mathieu Othacehe -;;; Copyright © 2019, 2020, 2023 Janneke Nieuwenhuizen +;;; Copyright © 2019, 2020, 2023, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas ;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2020 Stefan @@ -34,6 +34,7 @@ (define-module (gnu bootloader grub) #:use-module (guix gexp) #:use-module (gnu artwork) #:use-module (gnu bootloader) + #:use-module (gnu build file-systems) #:use-module (gnu system uuid) #:use-module (gnu system file-systems) #:use-module (gnu system keyboard) @@ -45,6 +46,7 @@ (define-module (gnu bootloader grub) #:use-module (ice-9 regex) #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) + #:use-module (srfi srfi-26) #:export (grub-theme grub-theme? grub-theme-image @@ -355,6 +357,11 @@ (define (grub-root-search device file) ((or #f (? string?)) #~(format #f "search --file --set ~a" #$file))))) +(define* (device->hurd-device-name device-spec #:key (disk "w")) + "Return DEVICE as a Hurd name spec: part:PART-NUMBER:device:DISKdDISK-INDEX." + (let ((device-name (canonicalize-device-spec device-spec))) + (device-name->hurd-device-name device-name #:disk disk))) + (define* (make-grub-configuration grub config entries #:key (locale #f) @@ -413,16 +420,16 @@ (define* (make-grub-configuration grub config entries ;; IDE driver ("hdX") and those understood by rumpdisk ("wdX" ;; in the "noide" case). (disk (if (member "noide" arguments) "w" "h")) - (modules (menu-entry-multiboot-modules entry)) - (root-index 1)) ; XXX EFI will need root-index 2 + (device-spec (and=> device file-system-device->string)) + (device-name (and=> device-spec device-spec->device-name)) + (modules (menu-entry-multiboot-modules entry))) #~(format port " menuentry ~s { - multiboot ~a root=part:~a:device:~ad0~a~a + multiboot ~a root=~a~a~a }~%" #$label #$kernel - #$root-index - #$disk + #$(device-name->hurd-device-name device-name #:disk disk) (string-join (list #$@arguments) " " 'prefix) (string-join (map string-join '#$modules) "\n module " 'prefix)))) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 41e1c9e282..6fd9f95093 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2022 Oleg Pykhalov ;;; Copyright © 2024 Nicolas Graves ;;; Copyright © 2024 Richard Sent +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +54,11 @@ (define-module (gnu build file-systems) find-partition-by-luks-uuid canonicalize-device-spec + device-name->hurd-device-name + device-spec->device + device-spec->device-name + hurd-device-name->device-name + read-partition-label read-partition-uuid read-luks-partition-uuid @@ -1431,4 +1437,56 @@ (define* (mount-file-system fs #:key (root "/root") (or (file-system-mount-may-fail? fs) (apply throw args)))))) +(define %device-name-regexp "/dev/[hsvw]d([abcd])([0-9]*)") +(define %hurd-device-name-regexp "part:([0-9]*):device:[hw]d([0-9]*)") + +(define (device-spec->device-name device-spec) + "Return DEVICE-SPEC as a Linux /dev/XdYZ device name, also catering for uuid +or label." + (cond ((string-match %device-name-regexp device-spec) + device-spec) + ((string-match %hurd-device-name-regexp device-spec) + (hurd-device-name->device-name device-spec)) + ((string->uuid device-spec) + => + (lambda (uuid) (false-if-exception (find-partition-by-uuid uuid)))) + (else + (false-if-exception (find-partition-by-label device-spec))))) + +(define* (device-name->hurd-device-name device-name #:key (disk "w")) + "Return DEVICE-NAME as a Hurd device name: + part:PART-NUMBER:device:DISKdDISK-INDEX +Default to part:1:device:DISKd0 if partition cannot be found." + (let* ((m (and=> device-name (cute string-match %device-name-regexp <>))) + (disk-char (and m (and=> (match:substring m 1) + (compose car string->list)))) + (disk-index (or (and disk-char + (- (char->integer disk-char) (char->integer #\a))) + 0)) + (partition-number (or (and m (and=> (match:substring m 2) + string->number)) + 1))) + (format #f "part:~a:device:~ad~a" partition-number disk disk-index))) + +(define* (hurd-device-name->device-name device-name #:key (disk "s")) + (let* ((m (and=> device-name (cute string-match %hurd-device-name-regexp <>))) + (disk-index-string (and=> m (cute match:substring <> 2))) + (disk-index (or (and=> disk-index-string string->number) + 0)) + (disk-index-char (integer->char (+ disk-index (char->integer #\a)))) + (partition-string (and=> m (cute match:substring <> 1))) + (partition-number (or (and=> partition-string string->number) + 1))) + (format #f "/dev/~ad~a~a" disk disk-index-char partition-number))) + +(define (device-spec->device device-spec) + "Return DEVICE-SPEC as UUID, FILE-SYSTEM-LABEL, or DEVICE-SPEC." + (cond ((and=> (string->uuid device-spec) + find-partition-by-uuid) + (string->uuid device-spec)) + ((find-partition-by-label device-spec) + (file-system-label device-spec)) + (else + device-spec))) + ;;; file-systems.scm ends here From patchwork Wed Oct 30 14:30:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69645 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 8448127BBEB; Wed, 30 Oct 2024 14:35:18 +0000 (GMT) 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 15DA027BBE2 for ; Wed, 30 Oct 2024 14:35:18 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69lv-0002Ce-Ks; Wed, 30 Oct 2024 10:34:07 -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 1t69ls-0002BC-SU for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:05 -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 1t69ls-0003ci-IE for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:04 -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=kjowKCgQPWLCZataSj1MSToSn5qEFtW1ah5tT8UzbYI=; b=k/PKdN0RL53hmwKxCnryQgrgT3rjT3cy956Jh3iKzPgAivQvrcrGAoa5HYbb2pdQzZXI005WzrcMz7ZIuuxsXtrvbrorNBn/GrjnzIVmipLKtqHIUX0NCUerkJcOFqvV2fKAVpdpNx4OylS0nTv1E7Fx0MCYGexa8HVneH9+K2axPaVpGIPHIfBEJ2/Nepnl4OpYQuMrBMx/xVGfjFxGYfq9FBQxBhtWAqntWKjNacHaZk6T/yWuAAQM6wGH4k2qhEWF/ovBwCfPr+3x9kg1JXorN3WJjyc5AITHNpuUcevaRQfrZHGAoAujOVtV0frUcgUOSYqgQUgmp/tPDFq+Ag==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69ls-0003yI-C6 for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 05/18] 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: Wed, 30 Oct 2024 14:34: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.173029881715124 (code B ref 73927); Wed, 30 Oct 2024 14:34:04 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:37 +0000 Received: from localhost ([127.0.0.1]:35323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lQ-0003vm-M6 for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:37 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36130) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lD-0003tq-Ad for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:24 -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 1t69j1-0003Ky-Pu; Wed, 30 Oct 2024 10:31:07 -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=kjowKCgQPWLCZataSj1MSToSn5qEFtW1ah5tT8UzbYI=; b=aiRbj12mcBMK1NgijyCF 7MpkYHanH6TwLZDoQZd+0YbY5EzgbR6B7jFt9X5N6KvTSY0lArgyaS72OEx2+k8LZEOVHAUs+GoBZ SUHsRJKwfZtmRjPYeUa48dt1hP4Za2cH7isZ6IUKZ68KkT9Q49DAYH2KMNy8//Fqu8ZkP2zlJgd3V N5tiB9vKvc9gtTy+YTFt9rvH/+LJjMN+e74EAa7K5BLZscqMz214D9IS7U2A2RRx1QIocQxqSMA3/ VwviUonQIaBcKeiH/CJV7uc6r9RuDINVlhSW1Q1ThgTpnSfcme77jurVpeNXN8rLgyzikDrELxgCZ BopMxe6iB2mZ1Q==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:34 +0100 Message-ID: <31563aff635d848ced223882a61e0b691f667730.1730296564.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 Wed Oct 30 14:30:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69635 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 7226727BBEA; Wed, 30 Oct 2024 14:34:48 +0000 (GMT) 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 DABFC27BBE2 for ; Wed, 30 Oct 2024 14:34:47 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69lx-0002Da-FE; Wed, 30 Oct 2024 10:34:09 -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 1t69lt-0002BR-AV for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:05 -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 1t69lt-0003cu-1Z for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:05 -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=eI15wjPgNJLWfcc2Y9D7xtqi1gvQFO5BP+sIZmkXN8M=; b=dfJC3yNIi9xXjahYtnv2OzRjBJGMbvUd7XN4GuW4mxWQIvkaPuyxfLGBSzFSn1tUimYsDYZj1KclpgWmuZNHF7JA4e2BVxGaonqfFtdawQi3InYeBxat8XGvVqHRLw5wgmZXZx12Sc5otXFUuz34nNTN4SCuYAcxAmy/cvbVZl5uHvZoYqnMTcnzpXEc4uoI1gcVoEcpSmbB3RDKebONbybawD53oM78+xvigDYUVEPH/yCGUeHhWSaZcXktsWo9ljNaHU2+nFP7lylWsScNvClTaWBuQzQHsaq1vfSo9JGSVaiiVZFmG6YtLG+N7W+M375dCeJyvTWuSpX8AtwC/w==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69ls-0003yS-T9 for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 06/18] 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: Wed, 30 Oct 2024 14:34: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.173029881815132 (code B ref 73927); Wed, 30 Oct 2024 14:34:04 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:38 +0000 Received: from localhost ([127.0.0.1]:35325 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lR-0003vt-AT for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:37 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48372) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lF-0003u7-C9 for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:26 -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 1t69j2-0003L6-V0; Wed, 30 Oct 2024 10:31:08 -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=eI15wjPgNJLWfcc2Y9D7xtqi1gvQFO5BP+sIZmkXN8M=; b=Ogg5kAsIgk3bwFYYwQi0 Yh6UwuOztGP8KQ604PMl6NaiCLeCnoPmFxeSczmBOTDLLTyI3x+0/kmmftuMnVQ4kuTyQ8DblDmZT c7uzPgcUR96cSw394iVEjFAVHLh+EJqmYcHJYxTbZTICjXyfzw0GOnOUvEcdtW0L0jZIbeUUbLQiY 8/6GEsXgLXh1WcELQzssqp65GUDhpeMOHauugyEjKKD2l+5Hms6TeqmPUw1ZfLudwKFb7qDeH27/3 uS4KPbqIbCS8NliXcrTcSzcamLPEaFXlvgpEY3wpuE1SZL5c6VuItXsov9Fi/lzLBPEjrR3Sq3CXg 6VwSszYVT+TwVw==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:35 +0100 Message-ID: <5c52891a8384febf4152e0e12ae66a32c807739e.1730296564.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): Change-Id: I1d4d445c614921752dc84aa0dd6ff42cdbf62aa8 --- 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 d0a57a8807..6201dea4b8 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -44,6 +44,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) @@ -2647,7 +2648,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)) @@ -2655,16 +2656,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 c19730b331..533a4154d6 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -845,11 +845,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) ;; Make sure that privileged-programs activation script @@ -873,7 +873,8 @@ (define (hurd-default-essential-services os) (list `("hosts" ,hosts-file))) (service hosts-service-type (local-host-entries host-name))) - (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 Wed Oct 30 14:30:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69638 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 84A4927BBE9; Wed, 30 Oct 2024 14:34:55 +0000 (GMT) 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 CE14027BBE2 for ; Wed, 30 Oct 2024 14:34:54 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69lz-0002EK-7q; Wed, 30 Oct 2024 10:34:11 -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 1t69lu-0002CR-Cf for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:06 -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 1t69lu-0003dF-48 for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:06 -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=skddpd7CrqziZHRHibNOoVO8k85rWwhGOskhqDeKxjo=; b=kqlqvMmBvRQLvpsmzenIuIXd8tyix2OdAGePKLVyA92D3WuMabqKeQzfycD1OtFx6pWwwkczhHfneQYuFShv0YzoO8Cif3/8uHyxPJO3mZAYdJjX6qlt7d47boeW9TQufCyIsIidpGDqFl4gZrbLZWIp4Mt/jQP1CJc0Sl8trFpcyVd1zXKp/Cmhekd4lvJxWG7LwrbJsqnO7bcTiVrrS7QhxOlkL+q8ihB6Wf07pO42FM1OPlzIRQwXQ2oPyVazsZ6diFeBXF7V4xi4LuZm78agueDwI9Teds9dRNEnciS1ZsWm4Gu1eO36txN6wC7Wd2bodRvNDYcINkS2T6jR5A==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lt-0003yh-TG for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 07/18] gnu: hurd: Support second boot. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 30 Oct 2024 14:34: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.173029883215155 (code B ref 73927); Wed, 30 Oct 2024 14:34:05 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:52 +0000 Received: from localhost ([127.0.0.1]:35330 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lf-0003wG-HO for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48404) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lH-0003uL-E3 for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:28 -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 1t69j5-0003LP-48; Wed, 30 Oct 2024 10:31:11 -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=skddpd7CrqziZHRHibNOoVO8k85rWwhGOskhqDeKxjo=; b=Xzdd/vOevZ9Yulens3Aa IIWZE8UzkO+HfHK+7x0/EuXuO0Y/AHsKnupS01g7I6ZsvYvsWF/l7ar8aNsaejHGLd9882FptZbLy tLSrdL6JOroUrYNiG/M9mJeILeZrS/XekaYTcxmhFWD97UroqXL7mgmFmSA9RJTh23OG7DM1ShEEc 1pPOa3XOjS3VNd0ZrDj38j6WP//MeKxWMf1mfHrot5B+E5RiXOIt+zapfy7/1XAxj+oY+yQ6E+fPg fnsW9szLfuoR5ifFaQUyplbxXMBzECXnzQhZABDPU/uNns0QP6Kr40tfnzsHTJNTOEDMNojUMwpyc cV57ZvAj6kPWqA==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:36 +0100 Message-ID: <02512a12da4e00eb89b5e919c3fa6665608d941c.1730296564.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 1040b3927b..872e55eb41 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1542,6 +1542,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 Wed Oct 30 14:30:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69637 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 BB9EE27BBEA; Wed, 30 Oct 2024 14:34:54 +0000 (GMT) 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 7CA7727BBE2 for ; Wed, 30 Oct 2024 14:34:54 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69m2-0002Gq-P7; Wed, 30 Oct 2024 10:34:15 -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 1t69lt-0002Bf-Si for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:05 -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 1t69lt-0003d2-JX for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:05 -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=iaWfx4jNOFpVzCd71bf93ta8DO59udVxL6qBakwsMDE=; b=PCGoKR8dexuu0MOZ+q6U4otBkREWJZumUUbEPE3oW0CAgN4k+drXWtt6PH2q/CpGzBuJprfQnoQwHonnQH7bbFf3388RR4TwyIXOY7T333Q/PmuFZdwU2TcQ+FRjqf+/t2WcIGRbxJAmR7/0hwD3ZxS+X9cmaDbpshlg4z+C0Ft8PuIGykM474H8EnDf/NElrsfDE3wbVHVNk4TEZcouGl5ZvaUPJD3QBq8yGsY28oLpNtfBBYwFiqQhnAy8FiaZkRkqXwkArq6gUE3XLrRK/0mKHkNVz2idWYMEI5n2RAkTvD480EZ6IJAmh7S5vhlyw/e0/xXaB+eFA644Kkl0+g==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lt-0003yZ-C2 for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 08/18] hurd-boot: Support second boot. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 30 Oct 2024 14:34: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.173029883115147 (code B ref 73927); Wed, 30 Oct 2024 14:34:05 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:51 +0000 Received: from localhost ([127.0.0.1]:35328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lb-0003wC-Vu for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48402) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lH-0003uK-E2 for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:28 -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 1t69j6-0003La-24; Wed, 30 Oct 2024 10:31:12 -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=iaWfx4jNOFpVzCd71bf93ta8DO59udVxL6qBakwsMDE=; b=lGXcgK1br0ACdjparLZl MV11RAiPQWo2VhtlCartwhELxfeAy50FQv7sYZz5+lx7d9fZZFPvAq2tk9zaCca4CJ1u16+UsHTS0 unnCwp0MSruKG0rb00XwuWZxOKfft4vhxhPOSHppscqNjhvHue/n4hhVWKLtNn6LV5XOES1GKVccs ixrLbClMc0dwIK93vOXd/a/ZUMvgjRt1ZwvRkDVUoNTfEaNmaa8hoxEIuj6R9Ws7wvp8vTcmouA6N QGqcUJJMyq6Ob9cDWIwpGD/VimJFGCqpdm1xcgtk0b5lOLJYmxSZ4oHYCalUbBNoL9kcD76K0GQra cmsU1KUFWOjTiA==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:37 +0100 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/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 Wed Oct 30 14:30:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69644 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 B440027BBEA; Wed, 30 Oct 2024 14:35:17 +0000 (GMT) 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 5F60927BBE2 for ; Wed, 30 Oct 2024 14:35:17 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69m3-0002Gy-39; Wed, 30 Oct 2024 10:34:15 -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 1t69lu-0002CS-VT for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:07 -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 1t69lu-0003dP-J2 for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:06 -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=HfncODcPJjd5vdNEUI1uhrSy+SoVbwwPoVqAtSExszQ=; b=QyttCkTFfMPLdJTh/63+Wna/e4tJtXutuuf6rHOMGlIiGUiesfUYkgUCMRKZdcaAQazpsPdIBJ/O0g+fvCLvSaltaHgFcI7uipldlI9tx6GPj1lrHVAQlZg/KdqtovQ02SrLvF4+m49ZiXw3duqWEMWScQfzuwLCqvQCtiALXGjZarAUnmwUMiHia4Pdt8LBtl0t0vKbTxlv4VGmFopsRHLhrF8z7ZCcn7VJyg87EvdniES8C7VYgvg7rmbvBIPawbid/lGTvKQ3+3GP2JOzCxAn0f5tj2Aya24bugLDsIu/6cL1EPdvAU+FjIvKWFkkmoBCz3kAzJHMSSXv2Gi59w==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lu-0003yo-EJ for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 09/18] maint: Add installer dependencies to the manifest. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 30 Oct 2024 14:34: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.173029883215163 (code B ref 73927); Wed, 30 Oct 2024 14:34:06 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:52 +0000 Received: from localhost ([127.0.0.1]:35334 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lg-0003wO-82 for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48388) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lH-0003uJ-E1 for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:28 -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 1t69j7-0003Lp-0o; Wed, 30 Oct 2024 10:31:13 -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=HfncODcPJjd5vdNEUI1uhrSy+SoVbwwPoVqAtSExszQ=; b=qt2hR6jVQ/2UJV42mtD2 DrSN2S6X2tvEjU86QWXS4Dv+RvPoLJR+J4jl/tK5mbCi2dHee8hJg/kfOM8k0Mmyh8J4+i3Jo4TIN HHM9Un93iKlAuaNywmr4XHTMGXH0eACKLZgDzV2vS129RCFgare9V1TtZvJIsNhqT5hnvcJm656h+ 5+EhfUb62ieo4NRW3wuNBJ5NfMjGIJEIxpNxWZzOPdzak0v7S9MtGdP15Ayv6d1MjFkSdnP7Fk5FL Q1hk8FQY/i+zp9jt4yl2m2uwz3qDLHO2+T3JmVdAbZwBVAgxGgtuOrJB2TQuH0KkDMdOX4vpu+Tb0 E+7xV5RAb27GIw==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:38 +0100 Message-ID: <3946ea2ac963b11cd069550cdf35f5d007430733.1730296564.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 * 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 Wed Oct 30 14:30:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69643 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 E93CA27BBE2; Wed, 30 Oct 2024 14:35:08 +0000 (GMT) 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 2E28527BBE9 for ; Wed, 30 Oct 2024 14:35:07 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69m3-0002Hh-Ck; Wed, 30 Oct 2024 10:34:15 -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 1t69lv-0002Cr-EB for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:07 -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 1t69lv-0003dW-3R; Wed, 30 Oct 2024 10:34:07 -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=7wi8f4MDk4H2d6C8IkKdRaClTNgcz6kEBqE5qbspWG4=; b=O9FwqREyQasY6Rk12msAfvHZqYR82RqQbJNnxD7YtjaJCNLMYva3Kb0H5+HRBrSp3PsfHvhk5gmjyib0OCpcGWD3dmcn5h+ohm+oKYCGvnUzSpWdqCichML+6OTxlmyQ3knTWr/V8iwtMHlLc+hq48KOWTdOtsc2IUD/y/jj6DAjjrBGjehQoU9RFG9qcsSgXcbwjFe+/brCWbSQTYI9Go2t+CHQmpuwTyk5UcAahilz7XloHpcq0BL7JN2u06o2DWDM0/9AnZ29YAngbrkfW87Vt9vzHvnCL5fI5DsElpspT2e3Gdw0DrkBwliH99X8N2JSB6TM1yD5SwIlgC49qA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lu-0003yv-Tl; Wed, 30 Oct 2024 10:34:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 10/18] 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: Wed, 30 Oct 2024 14:34: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.173029883315176 (code B ref 73927); Wed, 30 Oct 2024 14:34:06 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:53 +0000 Received: from localhost ([127.0.0.1]:35336 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lg-0003wW-Mt for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:53 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48418) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lJ-0003ud-F4 for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:29 -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 1t69j8-0003M6-G7; Wed, 30 Oct 2024 10:31:14 -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=7wi8f4MDk4H2d6C8IkKdRaClTNgcz6kEBqE5qbspWG4=; b=HR3hn1acWPOFpLWkY82X r+9GgX7IovFtovYWNBLLCIwtQK4ukepjDPAQrWkD0lUTWXO/dQK7zgWD3/QWmguZU9fSyPezbS4Hk C0yXljSjTqYWtbnoZGe0+2omA4u73umKRdbbWKyeRRlfQqK05AkLsMr34WVx68fwVVovKxZ7aPPqR u0s28MNYvGCj6jynm9wLFlNexpRsV9MV58xQj6ha+3ZZG0Xv93DKo2yTqs5QeC56+7xPE+WPS+CfH SfoJhHf+oN1jv9OYpTrhsqyaRseThAR1GXDAX/OiPmu1G4m0uTh419oMlqTSfhH+H7KAZt5Ihn5bE qmhuKqAcXTJNsA==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:39 +0100 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/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 Wed Oct 30 14:30:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69642 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 ADBC227BBE2; Wed, 30 Oct 2024 14:35:05 +0000 (GMT) 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 1B19527BBE9 for ; Wed, 30 Oct 2024 14:35:04 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69m1-0002FE-4T; Wed, 30 Oct 2024 10:34:13 -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 1t69lw-0002DG-BJ for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:08 -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 1t69lv-0003df-HC; Wed, 30 Oct 2024 10:34:07 -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=OhSmP+u8Nn62ocwaFv31DZePHEvszKBDnm02zazmNQ8=; b=kMPw+GLpVD3dedpm1LejP1QHgfQxGI0YM1K1ILYkMxkUsCng/qpzHjzMGFSkdzuoy3SPP8UjuuFATC3uLl7sIjn/WSgXiMzvbj7VvbJ2wM7pwAeL7WWZcsYLzlhMpKo7ax/YVCMPzBrFATcPq9QB1SF0uTaPvCbX7keN6NorGummVcY30DoGjJ9mP3m6QFuQTbvarHZ23SDIlNQyvFbAoR74Jb6AKdASq5PXdFI1j/jI3CBf8PAIjYCtI8qQhhdZ6lV6Wcr4RfI6OZ9OEMn4z2yNNwq2khZBFMyX0doT3x18wt5jKEZHlE3HXDH1YVOfhqyy7eXeuFV1ea0vUulQfA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lv-0003z4-C1; Wed, 30 Oct 2024 10:34:07 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 11/18] 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: Wed, 30 Oct 2024 14:34: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 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.173029883415183 (code B ref 73927); Wed, 30 Oct 2024 14:34:07 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:54 +0000 Received: from localhost ([127.0.0.1]:35338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lh-0003wj-Id for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:53 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48434) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lL-0003uw-Gs for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:31 -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 1t69jA-0003MI-Ld; Wed, 30 Oct 2024 10:31:16 -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=OhSmP+u8Nn62ocwaFv31DZePHEvszKBDnm02zazmNQ8=; b=R3ZqiMhf2p6ZJepcEk8a cVtmMIfRaeEe8OZztxM94g2U51Hy20Rcy/jWRWlzVwmE4cNnVrCdBWwvoxBo7oqBWeioTS5C9bAAN Y2EYutgg/zIrJjnaRXRnGPpOxNFPqhk2TQ+Hea/9yogqVGVN23KKEkwodVVl2aGa6itkvxBGZXO07 Ow5D7uH+nqn2gsfQaIghsyzQ52aD6Q4yQ76MaIiKaz6AcfGW2C04K1q0OxT6sQo0ZLHqqQJ1u6P0O j8DE/inv4ME3mLQMpdtz0oMOaS9mrKE+D2t1o5bzDRvlTKeIoIuIS35q753f2fwtiphI9qZhgWPWi ckm4QM3w7XLv/Q==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:40 +0100 Message-ID: <0af3871effd00e696c238f1c91dfb26852a43850.1730296564.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.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 Wed Oct 30 14:30:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69634 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 8109127BBEA; Wed, 30 Oct 2024 14:34:43 +0000 (GMT) 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 EC1A827BBE2 for ; Wed, 30 Oct 2024 14:34:42 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69lz-0002EM-Hv; Wed, 30 Oct 2024 10:34:11 -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 1t69lx-0002Dn-Id for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:09 -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 1t69lw-0003eD-Rm; Wed, 30 Oct 2024 10:34:08 -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=eiCxsj0AaULcOIP4BeP7L25BgeYDXk8o756P+cDSI44=; b=GAojAcP8VTk9P8/pP78jGmo01CtetaKr/Ho5Um1vFiz/RhulyojxAsId8CNktnWFoSpj9s5MCrk77ZmVtjxxRQ3YKJplT//cgv5jnJXyuwVLAOWevucVenL8lTbzuVrT3WmtjWS6vC8HznW5xvdKGfZdTaIQdKvufC3ptTHStZrhGMjagfDYOge7f099TvdOGywlWetqoCn0Bxu77D/4clL+SHEFqDfyETdBIso1gFmdGZ/B5UCZmS1boA1Kbrp2OlOnx/qsOFvpVJiyCDN5cPLQTAZ/23IFrYKKXhkwT8rK2wNDNRXQqzVDjDmKsPyKWy8hHAi6RP+9RDxvWIKF6w==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lw-0003zR-M8; Wed, 30 Oct 2024 10:34:08 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 12/18] 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: Wed, 30 Oct 2024 14:34:08 +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.173029883615197 (code B ref 73927); Wed, 30 Oct 2024 14:34:08 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:56 +0000 Received: from localhost ([127.0.0.1]:35344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69li-0003wx-Qz for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48436) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lN-0003v9-Ie for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:35 -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 1t69jB-0003MP-Jo; Wed, 30 Oct 2024 10:31:18 -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=eiCxsj0AaULcOIP4BeP7L25BgeYDXk8o756P+cDSI44=; b=MJbTQ95VENqmadfdtW6M j6CnAQkIzxbdf4OPc80B/IPZcUL6SWIf8qlj8qPQXh3bc2RXAqFEeaFCJCbm44qKj5s++VGPDlRHI GNnHyDeQSmjKUT4s7FO+9HsxIT2Wekui2loYeKG6rEC8SWWMyojNMj5BN7DVoc9OnqXmTPGsOjreV 1+DLxtE26C0EY7OM++xaYR0zKkvj2X/1atbTgw4T9YxE+0hnfamsj89nc/rSMvlmMY+flxP6GDXBZ sAjpdUNvoLY/C6yTNv3K25F1ZK7aLMnJFNVJIRKRQS49bsqF+QtPL6wp3f9w7m1tw2VPuqv/S/E8L sYKVFDwXpihLHA==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:41 +0100 Message-ID: <82b738b3f2e63aa7a312c03a249530f765132eef.1730296564.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 Wed Oct 30 14:30:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69639 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 AAFF027BBEA; Wed, 30 Oct 2024 14:34:57 +0000 (GMT) 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 5471727BBE2 for ; Wed, 30 Oct 2024 14:34:57 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69lz-0002EL-A7; Wed, 30 Oct 2024 10:34:11 -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 1t69lw-0002Db-LG for guix-patches@gnu.org; Wed, 30 Oct 2024 10:34:08 -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 1t69lw-0003dp-6x; Wed, 30 Oct 2024 10:34:08 -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=6sNXNkmEFVwly2aaiNLBlrW0rSO2oPi1w7+RXs/UNs4=; b=s6ozf8VoO8TkCPhZnl12Z2wcHaHKoUtbzkPtL3NU9PwRWnHyZWW3BIhCFO4fqnkIxYqDCYSkQmiY4r5nTAt7TpPRi5BW6CqzuKuh0zSp+sQl92TZN/5tMvhfSaFqSQFC7Bnve/8GlzHzwKMZ3fOKVELssP7Lg2FvGH9hmeC2s1HLbmJ0/mRmW7ocP0q997/EZaLRt66WW7vIEw13vm+E/L8X616o9oCEkLtFjumm6XPiCzHHMvK9AI3n2u7HQQV/Uzagu3+elRBuKpvqS3x5jMsny32d2H5gP/qzQC8mdVDX7Vr/lkIJt9pIfzrxwFi8zipsq1z18+RlrrKK2yYD3g==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69lv-0003zE-RU; Wed, 30 Oct 2024 10:34:07 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 13/18] 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: Wed, 30 Oct 2024 14:34: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 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.173029883515190 (code B ref 73927); Wed, 30 Oct 2024 14:34:07 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:33:55 +0000 Received: from localhost ([127.0.0.1]:35340 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69li-0003wq-1X for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48438) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lN-0003v8-Ij for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33:34 -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 1t69jC-0003MQ-KM; Wed, 30 Oct 2024 10:31:18 -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=6sNXNkmEFVwly2aaiNLBlrW0rSO2oPi1w7+RXs/UNs4=; b=D4CWz5udgYXR9Kxq8BbF q9n9MSowZlELo7SENCUDIIIth4KhPk9Cgtuoz6yKunWbf0L6i1jGfGFxuUrVn22mH58LiO5yQl3tE YABhxlQWCc7Wbp7aEC2QD2hPXjnHaPcMAFjakR81B7Qj275ySH+Vyu7mnxM2iof0goPmuSKJgmCXW igw44TozjQSnQwITltrmUnkZQFONj1tlj/4uX52Ux/fAR9mBWJWphIJVqw78chpqLk3419XtgtrjE RCoF0uwWhtdaI0B/xCETonDFYcIApuBYAFmtQto285XnpMAVAN7hc8cTr+YNal8q431tpwhsdFtSr HNCmbFOnv1UVRg==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:42 +0100 Message-ID: <1cdb030e76a58fee4a141f298aa51554f30ca3cb.1730296564.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 Wed Oct 30 14:30:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69646 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 1A73027BBEB; Wed, 30 Oct 2024 14:35:23 +0000 (GMT) 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 5FC9127BBE2 for ; Wed, 30 Oct 2024 14:35:22 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69n6-00032W-2V; Wed, 30 Oct 2024 10:35:21 -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 1t69ms-0002ob-Sp for guix-patches@gnu.org; Wed, 30 Oct 2024 10:35:07 -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 1t69mo-0003rC-N6; Wed, 30 Oct 2024 10:35:03 -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=66z09eNp2NsUEqlFl/pShqGkUl5/a7OKnCtzAjDTokw=; b=c8CUz0XiQta2KAl5ENTB1aSVW0Lz+285Q1lLJKaBpplys/nm8QpiBX21o5tOeMWfPZwfrgIfzGZgJozj6qcvjFdlmKCeZZ8gMdMdBMjgU5JFic1DrCPQgJkQK6IFKfEoMgU8Zizuzs1bhBu+jLzJY1yKmJ55rjsIseX2qbZ1o/E05vBEXbufs4EMSk8v2NtxqUmfbAOt0VRyiKMVy6w0t2fRZfrpCHXNlgUldJ/+ruGinvYS+DAGwBITIXU5F5qBqUtyLdaPNzDyeQRiETlks06xj+2pNU+FinEpNySgniNPHG7M4F6ASluzkrvhaEpIRU2sLZnM1xix9oDVTDUpDw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69mo-00040v-Gc; Wed, 30 Oct 2024 10:35:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 14/18] 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: Wed, 30 Oct 2024 14:35: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.173029885415365 (code B ref 73927); Wed, 30 Oct 2024 14:35:02 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:34:14 +0000 Received: from localhost ([127.0.0.1]:35380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69m1-0003zj-Rv for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:34:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47394) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lg-0003wA-0L for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33: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 1t69jV-0003Np-67; Wed, 30 Oct 2024 10:31: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=66z09eNp2NsUEqlFl/pShqGkUl5/a7OKnCtzAjDTokw=; b=IPgacWtSAcZg2D5JO7I1 diVaEzeQuRrjOo8b+C3gMBjCzcxi8d5Kbqzuhn46jMnjE/ZRmrs/YSKMPGCyfGwZe2FXevJmYnFVo S+5eWaeVHsCtxgQfcfy5ShgkL5H4XU31kulHvsgpL4OHMY+YonGvmckos3aepwstuZKMngErJPBpJ nEqpKVH5iewcqAKDviwaqHqPATVb6NkT6PesbV021/QKhFLeqoMFEVIFzIKfdtYY8/SnnRFs9fFqt qyi5PFDpNoLzeexhoPWS02oLfP0JJl3BJMNq3WzzajWBP//xiyXynfdcIFGb4gwk9mnl7Fo7rJckr CoUo3Tq4vDWxPQ==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:43 +0100 Message-ID: <5ffe4e5ea10ac9920ea17673275f178c4a060442.1730296564.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/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 Wed Oct 30 14:30:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69647 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 4AC9027BBE2; Wed, 30 Oct 2024 14:35:25 +0000 (GMT) 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 1870227BBEA for ; Wed, 30 Oct 2024 14:35:23 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69n8-00039Q-3t; Wed, 30 Oct 2024 10:35:22 -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 1t69mu-0002pW-0D for guix-patches@gnu.org; Wed, 30 Oct 2024 10:35:10 -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 1t69mp-0003tU-73; Wed, 30 Oct 2024 10:35:03 -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=hH3yNAhUyHMSo8d06nb5LU0qNi+QM2cJadabsvH0PmU=; b=Ntw0AQDCVBhvxZ65gbVyq8ysqZN1+wdXHVkIQaQakLm7ngBEbfT2OBPl57q/W9YU6Ff3g/aYqBlLy5OtPVroNYh3N/2zUCEEDAJBhhXxFTUxPzus3gdkNFJI9p7k/hIGFyf5Jln9wJzV+59gab2l3vpodAPvoaZmg9XZEW9MSdydhM4xvGGthgVI1Iy5FeihQZvLGQnXxltqX0ENuIWIXMFNIwtQt9aFITgEtoNPFeL/volKrjp2ptwfS5qY0iDZzsdsDxjf/Sxn8lilikSdpjQBDjXQzYaGfOwuLxxhmK24RoiuwjDTtQYO/MHdrpurSWZ17OfX8bv86Ey+2pV+mg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69mp-000413-1H; Wed, 30 Oct 2024 10:35:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 15/18] 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: Wed, 30 Oct 2024 14:35: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.173029885515371 (code B ref 73927); Wed, 30 Oct 2024 14:35:02 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:34:15 +0000 Received: from localhost ([127.0.0.1]:35382 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69m2-0003zm-JU for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:34:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47410) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69li-0003wD-1S for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33: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 1t69jX-0003O4-7e; Wed, 30 Oct 2024 10:31: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=hH3yNAhUyHMSo8d06nb5LU0qNi+QM2cJadabsvH0PmU=; b=PEXSlk3BPgywLCEw2hk/ rNNekVWjjYH0GwhADc8W3iN2q1NuCV+AP1Bi1EurxpWu7S9MmbAwlxfcQcoFX3ZxKvO/9020HYdyE unwTUndIIBjDnp++pnANBDOY/r91Ukv1vspscNr8CKdA8S/pT1/CAFgcq7rjGt8F+cxM8TziFeOd3 YHyjkZgw1fuxlpRkHyYh46I1UrXP4UZ8SaMkfr4w4q0iDAGq7FxjtvDaGJmi253HnKhdioxO6hU5w AGSEq85iqiCdD9pRvWMfArzeGjJyVvEFI6aVx2kcm6CHCVBR2TYtE/WaHn6ICQdyzRz+gG+5QxUam ZIrG2LmCVtSO0g==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:44 +0100 Message-ID: <8f8ac43e07951ab068ed7ad52baf8424090cf8fa.1730296564.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 Wed Oct 30 14:30:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69648 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 C55A827BBEA; Wed, 30 Oct 2024 14:35:41 +0000 (GMT) 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 EC53127BBE2 for ; Wed, 30 Oct 2024 14:35:39 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69nI-0003Fv-ED; Wed, 30 Oct 2024 10:35:33 -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 1t69mx-0002sH-Oa for guix-patches@gnu.org; Wed, 30 Oct 2024 10:35:12 -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 1t69mp-0003yT-Pl; Wed, 30 Oct 2024 10:35:04 -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=gbOVyxRoqU2XvJu0I62g1k/8XfHucUSERm+k9iTJ0NY=; b=HGoEU4R11zLjvkHmk6LSUUUNSo2Qv0BJvYGq72P9vFe/AdtjGQ/9/lA7bdyplLBMpa0SHaaolPYtNsC82LQ6rynRJJGiQnU5MNxIHNS/IMMxk9x/Nvg0D1cbrGoYq0ix8fnEoZUJyuythDW50+jD34CNX9fgA4JCTJALCZ/ohjPS2fXXBQLu8ZInHE8Ut5WICvA+Y61RJwr+UltXZBXaiJUPzaw6Dy7ykVxvNM5TUfsbItLtxVQGQpsbktcgSy8nJyP+tnH39fE3ov25ChO9bilEP8HW5FquENRPWPG6edJB8iXSlvs1haaDJHS0U05fv4fugbUTtsCm9shn5MpxUA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69mp-00041E-K0; Wed, 30 Oct 2024 10:35:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 16/18] 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: Wed, 30 Oct 2024 14:35: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.173029885815381 (code B ref 73927); Wed, 30 Oct 2024 14:35:03 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:34:18 +0000 Received: from localhost ([127.0.0.1]:35384 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69m4-0003zy-8O for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:34:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lk-0003wE-30 for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33: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 1t69jZ-0003OR-3h; Wed, 30 Oct 2024 10:31:41 -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=gbOVyxRoqU2XvJu0I62g1k/8XfHucUSERm+k9iTJ0NY=; b=EpHRQFKz9rhhuWt17wlI m3nuVrnUPGYRadoQMFYvS0938mMfNm1+sy2qOl9zUM8ADpTev8ipCxqiUBbd73RUE0dYlHCPzIRh/ qKxm4IHiaMCdbbfqiN1dk7Cnb1L79RubPIvbVklFG3Up9/aZ7V37ni0Uf8/O113497GdAlBxNtbLr 9VL2top24BGLrSHshAHgftpvIWCV/DSyDyYI5PtK1WJGSCmetIC7OiZ443JNdZloAC6I6UnSVAEqO 76nZWGaS7cDG2Mrmg5xMYAAkXMgOLSgZcJZdf+L+Pi4rAJe6VL4H+Ul+SDB0I5ef6xk3t/rZAWWNT oAHeFKORbDJ0LQ==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:45 +0100 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-label-page): Default to "msdos" when instaling the Hurd. (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 (efi-installation?): Return #f when installing for the Hurd. (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. * gnu/installer/tests.scm (choose-kernel): New procedure. * gnu/tests/install.scm (gui-test-program): Use it. Change-Id: Ifafb27b8a2f933944c77223a27ec151757237e36 --- gnu/installer.scm | 14 +++++ gnu/installer/final.scm | 9 +++- gnu/installer/kernel.scm | 41 +++++++++++++++ gnu/installer/newt.scm | 5 ++ gnu/installer/newt/kernel.scm | 45 ++++++++++++++++ gnu/installer/newt/partition.scm | 10 +++- gnu/installer/newt/services.scm | 31 ++++++----- gnu/installer/parted.scm | 89 +++++++++++++++++++++----------- gnu/installer/record.scm | 3 ++ gnu/installer/services.scm | 46 +++++++++++++---- gnu/installer/steps.scm | 14 +++-- gnu/installer/tests.scm | 11 ++++ gnu/local.mk | 2 + gnu/system/hurd.scm | 3 ++ gnu/tests/install.scm | 6 ++- 15 files changed, 269 insertions(+), 60 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..31c0ff7ff4 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -308,6 +308,18 @@ (define* (installer-steps #:key dry-run?) ((installer-user-page current-installer)))) (configuration-formatter users->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?)))) + ;; Ask the user to choose one or many desktop environment(s). (installer-step (id 'services) @@ -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..64c054cd86 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,11 @@ (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") + '())) 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..c82b06fb83 --- /dev/null +++ b/gnu/installer/kernel.scm @@ -0,0 +1,41 @@ +;;; 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) + #:use-module (guix read-print) + #:export (kernel->configuration)) + +(define-syntax-rule (G_ str) + ;; In this file, translatable strings are annotated with 'G_' so xgettext + ;; catches them, but translation happens later on at run time. + str) + +(define (kernel->configuration kernel dry-run?) + (if (equal? kernel "Hurd") + `((kernel %hurd-default-operating-system-kernel) + ,(comment (G_ ";; \"noide\" disables the gnumach IDE driver, enabling rumpdisk.\n")) + (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..3a7e679577 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) @@ -115,6 +116,7 @@ (define (run-label-page button-text button-callback) Be careful, all data on the disk will be lost.") #:title (G_ "Partition table") #:listbox-items '("msdos" "gpt") + #:listbox-default-item (if (target-hurd?) "msdos" "gpt") #:listbox-item->text identity #:listbox-callback-procedure (run-label-confirmation-page button-callback) @@ -147,6 +149,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 +771,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..ccddc64f11 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? @@ -223,11 +223,13 @@ (define default-esp-mount-point (define (efi-installation?) "Return #t if an EFI installation should be performed, #f otherwise." - (file-exists? "/sys/firmware/efi")) + (and (file-exists? "/sys/firmware/efi") + (not (target-hurd?)))) (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 +242,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 +258,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 +300,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)) @@ -1045,18 +1049,20 @@ (define* (auto-partition! disk non-boot-partitions) (let* ((start-partition - (if (efi-installation?) - (and (not esp-partition) - (user-partition - (fs-type 'fat32) - (esp? #t) - (size new-esp-size) - (mount-point (default-esp-mount-point)))) - (user-partition - (fs-type 'ext4) - (bootable? #t) - (bios-grub? #t) - (size bios-grub-size)))) + (cond ((target-hurd?) #f) + ((efi-installation?) + (and (not esp-partition) + (user-partition + (fs-type 'fat32) + (esp? #t) + (size new-esp-size) + (mount-point (default-esp-mount-point))))) + (else + (user-partition + (fs-type 'ext4) + (bootable? #t) + (bios-grub? #t) + (size bios-grub-size))))) (new-partitions (cond ((or (eq? scheme 'entire-root) @@ -1065,13 +1071,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 +1089,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 +1111,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 +1192,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 +1306,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 +1482,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 +1494,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 +1516,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/installer/tests.scm b/gnu/installer/tests.scm index 8785cd9a9f..a9a5d5d988 100644 --- a/gnu/installer/tests.scm +++ b/gnu/installer/tests.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ludovic Courtès ;;; Copyright © 2020 Mathieu Othacehe +;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +36,7 @@ (define-module (gnu installer tests) choose-locale+keyboard enter-host-name+passwords + choose-kernel choose-services choose-partitioning start-installation @@ -211,6 +213,15 @@ (define* (enter-host-name+passwords port (password ,password))) names passwords)))))) +(define* (choose-kernel port #:key (kernel "Linux Libre")) + "Converse over PORT with the guided installer to choose the specified +KERNEL." + (converse port + ((list-selection (title "Kernel") + (multiple-choices? #f) + (items _)) + kernel))) + (define* (choose-services port #:key (choose-desktop-environment? (const #f)) diff --git a/gnu/local.mk b/gnu/local.mk index 872e55eb41..e2392962b4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -863,6 +863,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 \ @@ -881,6 +882,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 diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 36dbd9111f..c8dccd38b0 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2020 Danny Milosavljevic -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. @@ -1869,6 +1869,10 @@ (define* (gui-test-program marionette #$marionette) (screenshot "installer-services.ppm") + (when #$(target-x86?) + (marionette-eval* '(choose-kernel installer-socket) #$marionette) + (screenshot "installer-kernel.ppm")) + (marionette-eval* '(choose-services installer-socket #:choose-desktop-environment? (const #$desktop?) From patchwork Wed Oct 30 14:30:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69650 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 258CF27BBE2; Wed, 30 Oct 2024 14:36:00 +0000 (GMT) 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 CC84327BBE2 for ; Wed, 30 Oct 2024 14:35:59 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69ng-0003Rn-2A; Wed, 30 Oct 2024 10:35:57 -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 1t69n1-0002yh-PZ for guix-patches@gnu.org; Wed, 30 Oct 2024 10:35:16 -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 1t69mr-00042O-3X; Wed, 30 Oct 2024 10:35:10 -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=u8iLXRhHTm7HmKJsJYUs8jZhSiK+cxiJnv3z/vi8xK0=; b=f3PUZpMGB/b+pW4dprAAsggvkZEyVWCcgHcOEjMyDrGBntSvXJJcTgCG7P4nroSjEqd1V2O9hwHDNVjxaxBMGwxq8SppVjSDp0bbKKofWvTuA7G94cLqeqj0BF7sPFvrejfNaYYpBxXQdkpZ7ng0sKUH7mMMchDVDR0A1cJ9lirC6l4kQUB172pdEMM8QkXZuPnL3gDeDMvyoZko4+r/GvkSNV6r9+2hTFEmmJrM5w6nYfBTXHT+h/g8DsC6nITcG9db4kpmD53Ft1IT5IbcTqic3OBSo+i7TjNcLlQi7ooLDvzC/eqEdtTWkiBVbL5nJUt3uD5xishzIAH8SRT20A==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69mq-00041Q-5H; Wed, 30 Oct 2024 10:35:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 17/18] 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: Wed, 30 Oct 2024 14:35: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.173029885815388 (code B ref 73927); Wed, 30 Oct 2024 14:35:04 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:34:18 +0000 Received: from localhost ([127.0.0.1]:35386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69m6-000401-38 for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:34:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39268) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lm-0003wc-4m for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:33: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 1t69jb-0003Oi-42; Wed, 30 Oct 2024 10:31:43 -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=u8iLXRhHTm7HmKJsJYUs8jZhSiK+cxiJnv3z/vi8xK0=; b=BBN4u58KjsA49r5O6thp AWUKLX3Yfyd55B2dkIeupvdrJn5Vz+y2ftqtK3Hpgq/BmiUFAMWsiQIfJpoMzVF/hl4RP8KbBeopj 7ZJRcE4V275SHsNdnqPHXeovYVWNnHKgdsk/IHTEpiCJR0fY83uOKzvmKCgrxHsMPnEEsE1U6Y4fJ nCk7+XjNFRT9vc8pTyHFQes75MSSKi+ZpFNRq1fbUPiBSXEHEAf7y6VGoQjLZvVf9eJb59jQW64YR tAzPybgKptybbPQnFlM551j4MK5sbpLiesbBvyLhNP7Q9VFDWKAeoWkGchKFj6+qQXCAvjvn88U3z 7dZUVtPH0YbmAw==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:46 +0100 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 Wed Oct 30 14:30:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 69649 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 CA3C427BBEA; Wed, 30 Oct 2024 14:35:50 +0000 (GMT) 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 32E9227BBE2 for ; Wed, 30 Oct 2024 14:35:50 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t69nP-0003IW-5P; Wed, 30 Oct 2024 10:35: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 1t69n1-0002yg-PB for guix-patches@gnu.org; Wed, 30 Oct 2024 10:35:16 -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 1t69mq-00042a-TF; Wed, 30 Oct 2024 10:35:08 -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=cRBY4LgF3AgTp2HN0SD4ISm+rNUXqPHZ8tC+HAS+IRU=; b=t0FRz+x7gtvdjYhJHfMKZVCIyqSOGd4Zhu8dVE107n6/yU0BAS++SEy/nlimr+IrOCoHNlGCdqw2Retlvvejuh7Mau+9YN/XUQ2qIMovbyfI9FdFZfpBf/2vyEPvZhiqZNwh/D75oH7E2hcLsHF3jDh6EcEXyjFoFP/XD8RNZohs6el0u8W9xujUHn9wvpGu1NgRtEWzHHFHRHqGW+xPPZl4DI9dpuDp+anw+f2aNE4XpVpA8AYAHrceWYmAdIGJksGLLvUpZNbeOfaCADNtSdbrNZeK3hYWGyJKZo3PNdLud3y+YWokMMKjVMXQJ7G7eO/5wfDq+DyFi7tE5YdL2g==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t69mq-00041q-ND; Wed, 30 Oct 2024 10:35:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73927] [PATCH v4 18/18] 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: Wed, 30 Oct 2024 14:35: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.173029885915394 (code B ref 73927); Wed, 30 Oct 2024 14:35:04 +0000 Received: (at 73927) by debbugs.gnu.org; 30 Oct 2024 14:34:19 +0000 Received: from localhost ([127.0.0.1]:35388 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69m6-000409-KH for submit@debbugs.gnu.org; Wed, 30 Oct 2024 10:34:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39278) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t69lo-0003x3-6R for 73927@debbugs.gnu.org; Wed, 30 Oct 2024 10:34:00 -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 1t69jc-0003P1-Ek; Wed, 30 Oct 2024 10:31:44 -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=cRBY4LgF3AgTp2HN0SD4ISm+rNUXqPHZ8tC+HAS+IRU=; b=gEbItm3EbsB0NAmv45LE e11kBXaPePL0VFegEUMeRvhTjMhQW78woU+4WjenzqpXK9hkHehwV82G+18f+f8tDz2HiC6i1n0vY dNqtlX4Ya/JSrlqVcGVq5UBwd+qK3UKGjjJtdFmdMVHIhORypNPUVr/Xz6meA+I8owGULvYG7zKSy LCMCSG8REVsDgUhYhjHpqT9msAjS99Gd+0GRBaEMj7gYnhTVFOIvRlQToimIGj46smbKBuYLT2MxF /VddAc2gBZsmWVvhn9UH1Bn4XDXsROwg0KGHXn/ZfI2j0Fw5+OvpEN4R9iSvXd5G1Bm348pl8AL7K B+zePc2fmeJHWQ==; From: Janneke Nieuwenhuizen Date: Wed, 30 Oct 2024 15:30:47 +0100 Message-ID: <063f684df97b70d01e76591d4f214c1a9924b531.1730296564.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)' or and BE VERY CAREFUL WHEN NOT USING #:DRY-RUN #T! sudo -E ./pre-inst-env guile -c '((@ (gnu installer) run-installer))' for this to work, you also need connman. * gnu/installer.scm (installer-script, run-installer): New procedures. Change-Id: I8cc1746845ec99f738e35fa91bb2342a674cfa88 --- gnu/installer.scm | 85 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 2 deletions(-) diff --git a/gnu/installer.scm b/gnu/installer.scm index 31c0ff7ff4..0a36f1f67b 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,78 @@ (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) + ((installer-exit current-installer))))) + (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)))