From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 0/4] Test installation on Debian Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 22 Feb 2025 17:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76488@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.17402441287888 (code B ref -1); Sat, 22 Feb 2025 17:09:02 +0000 Received: (at submit) by debbugs.gnu.org; 22 Feb 2025 17:08:48 +0000 Received: from localhost ([127.0.0.1]:57024 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tlszf-00023A-RE for submit@debbugs.gnu.org; Sat, 22 Feb 2025 12:08:48 -0500 Received: from lists.gnu.org ([2001:470:142::17]:40886) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tlszc-00022o-Hy for submit@debbugs.gnu.org; Sat, 22 Feb 2025 12:08:45 -0500 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 1tlszW-0002tP-Dk for guix-patches@gnu.org; Sat, 22 Feb 2025 12:08:39 -0500 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 1tlszV-000427-9p; Sat, 22 Feb 2025 12:08:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=A1JzaUGx7QC10ppmww+dL/M0fSpOW44nT9JAVHs2B0s=; b=CX42I1Dm4Nl1Ey Bcbzlm6F2NYGK1tbs6T7KCGoXNDWndF50icbvc8Gg3RFIBi5lmN6RJ6j/4oxCi6JoPp8Zy+hpT8VG tZLZtW2z34hcAtjP72GjqITqq3KqGPP0YN/1KvLp8tvD/eU149MQFo/X9JFW/NAXsFcek+7xmn/CU KeXjAWrNDk0rdlSln0M8oKbAIJUgI72a+6oxlP0VNe2M4Gs55Qia+nuhvsCMYCgTpG9gxysgC3RCc OGlK1SIqkazacP3Ndk2z2l1KT1dWl9Wpiw7d+DmIjeW8KxOqQn2GSucqcf0ehp4rXuiqxHFvecjCq Y+3hcv/bEYXB04kA2Owg==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Sat, 22 Feb 2025 18:08:29 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello Guix! This series adds an automated test of ‘guix-install.sh’ on Debian, which checks that “guix build hello” and “guix install hello” work upon completion. This was prompted by the work in and by the upcoming (crossing fingers!) release. It only tests Debian 12 but it should work with any systemd-based distro that provides QCOW2 images. Thoughts? Ludo’. Ludovic Courtès (4): tests: Export ‘marionette-program’. vm: ‘common-qemu-options’ splits command-line tokens. vm: Export ‘file-system->mount-tag’ and ‘common-qemu-options’. tests: Test installation on Debian. gnu/local.mk | 1 + gnu/system/vm.scm | 24 +-- gnu/tests.scm | 14 +- gnu/tests/foreign.scm | 337 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 364 insertions(+), 12 deletions(-) create mode 100644 gnu/tests/foreign.scm base-commit: 256e623843a70b001801dcddd7acb4138e6216b4 -- 2.48.1 From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 2/4] vm: =?UTF-8?Q?=E2=80=98common-qemu-options=E2=80=99?= splits command-line tokens. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 22 Feb 2025 17:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76488@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.17402442418517 (code B ref 76488); Sat, 22 Feb 2025 17:11:01 +0000 Received: (at 76488) by debbugs.gnu.org; 22 Feb 2025 17:10:41 +0000 Received: from localhost ([127.0.0.1]:57039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tlt1U-0002D5-Ju for submit@debbugs.gnu.org; Sat, 22 Feb 2025 12:10:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58940) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tlt1R-0002Cg-Vp for 76488@debbugs.gnu.org; Sat, 22 Feb 2025 12:10:38 -0500 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 1tlt1M-0004LE-Mo; Sat, 22 Feb 2025 12:10:32 -0500 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=A6wC3vciTBAN1uMxnw0N4tNrObQQoeWqJP6ukYw2HbU=; b=pFMGscMlMegC0vSpSmJn pCGL/kan+aaxhxCqbFVF21T96oIMP3uxnexDtQgoipKK+cRf9SvqG2Wgb+3vk1/HcpIu2vuwTYJnw n9JpNu9t8abxm7II6o6kGJ/38R6q+v4vi5Bkv8BdBclYAnJqiFQFqUM+jOShYiN7gDGz2g956bFBk KywucHN1A06AHrypFXSHHwCYbkuB4xnD377PZeDiTad0OeA1v5qC68N1rAchOwecULebdg4H7w5xb Z23H1AxumOeumPEZhTq5P9aTEmOqUu5pXf2EpJ7p+au1A8zMvkLlhOEK47DAIgmobtYaUmI7N7J/r +BnabQo68kFtEg==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Sat, 22 Feb 2025 18:10:14 +0100 Message-ID: <70d3a086aeed2da038467f6c4670e51b61f29cc6.1740243928.git.ludo@gnu.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) The result returned so far by ‘common-qemu-options’ assumed that it would be passed to a shell. This is the case when using ‘system-qemu-image/shared-store-script’ but possibly not in other cases. * gnu/system/vm.scm (common-qemu-options): Add #:image-format. [virtfs-option]: Return a list of strings instead of a single "-virtfs xyz" string. Update caller to use ‘append-map’. Separate "-drive" string. Change-Id: Ib07c27e2c4b2d222d7db2c612bb045d330bc7f68 --- gnu/system/vm.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 1e3f72c7b2a..dbfe873e4f5 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013-2024 Ludovic Courtès +;;; Copyright © 2013-2025 Ludovic Courtès ;;; Copyright © 2016 Christine Lemmer-Webber ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2017 Mathieu Othacehe @@ -211,14 +211,16 @@ (define* (virtualized-operating-system os (define* (common-qemu-options image shared-fs #:key + (image-format "raw") rw-image? (target (%current-target-system))) "Return the a string-value gexp with the common QEMU options to boot IMAGE, with '-virtfs' options for the host file systems listed in SHARED-FS." (define (virtfs-option fs) - #~(format #f "-virtfs local,path=~s,security_model=none,mount_tag=~s" - #$fs #$(file-system->mount-tag fs))) + #~("-virtfs" + (format #f "local,path=~a,security_model=none,mount_tag=~a" + #$fs #$(file-system->mount-tag fs)))) #~(;; Only enable kvm if we see /dev/kvm exists. ;; This allows users without hardware virtualization to still use these @@ -230,11 +232,12 @@ (define* (common-qemu-options image shared-fs "-object" "rng-random,filename=/dev/urandom,id=guix-vm-rng" "-device" "virtio-rng-pci,rng=guix-vm-rng" - #$@(map virtfs-option shared-fs) - #$@(if rw-image? - #~((format #f "-drive file=~a,format=qcow2,if=virtio" #$image)) - #~((format #f "-drive file=~a,format=raw,if=virtio,cache=writeback,werror=report,readonly=on" - #$image))))) + #$@(append-map virtfs-option shared-fs) + "-drive" + #$(if rw-image? + #~(format #f "file=~a,format=qcow2,if=virtio" #$image) + #~(format #f "file=~a,format=~a,if=virtio,cache=writeback,werror=report,readonly=on" + #$image #$image-format)))) (define* (system-qemu-image/shared-store-script os #:key -- 2.48.1 From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 3/4] vm: Export =?UTF-8?Q?=E2=80=98file-system->mount-tag=E2=80=99?= and =?UTF-8?Q?=E2=80=98common-qemu-options=E2=80=99.?= Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 22 Feb 2025 17:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76488@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.17402442468533 (code B ref 76488); Sat, 22 Feb 2025 17:11:02 +0000 Received: (at 76488) by debbugs.gnu.org; 22 Feb 2025 17:10:46 +0000 Received: from localhost ([127.0.0.1]:57041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tlt1Z-0002DX-W1 for submit@debbugs.gnu.org; Sat, 22 Feb 2025 12:10:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58954) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tlt1T-0002Ci-4Y for 76488@debbugs.gnu.org; Sat, 22 Feb 2025 12:10:39 -0500 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 1tlt1N-0004LL-KF; Sat, 22 Feb 2025 12:10:33 -0500 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=IYTNKFh2CZhPwTH/vq+gX8r5n92FU1BzGUWNuICccaA=; b=DDHvSqFFYqRsnlH8Ithz +V8agwF/ocKvdhf/eSO5KlqhydtcKu7eCxU0Ubw0rKDLXXok/3X/OwNn8nveQM+qDWU1N4a9BoqIS 7EavsP7BhMXonFyDwFqikaArnMO02MbgKYLW5P8UNqiUapa7JY33y0/qZ/i1bpumi8AFJaASx7fFK g2ojVXMfMzAj8jBTCr8CKBhOcRiRwtyRQCIrWkuGzwDU7QFMit8wwAQNv0AeU1qEzKuojIRXuiw0P 3s5CPzQC7Omm78WlNKC/4brxNVfYYFoe2VwZpSCY7iuEIqih8AFRULNJD9jZmq0oqohA4qy+UiY1U QNGZ/9rJK3frXA==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Sat, 22 Feb 2025 18:10:15 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/system/vm.scm (file-system->mount-tag, common-qemu-options): Export. Change-Id: I7228e5c02f07f8c8633a64c86d9c81aa3cb2e8b7 --- gnu/system/vm.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index dbfe873e4f5..4f2a27daf7a 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -85,7 +85,10 @@ (define-module (gnu system vm) virtual-machine-memory-size virtual-machine-disk-image-size virtual-machine-port-forwardings - virtual-machine-date)) + virtual-machine-date + + file-system->mount-tag + common-qemu-options)) ;;; Commentary: -- 2.48.1 From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 1/4] tests: Export =?UTF-8?Q?=E2=80=98marionette-program=E2=80=99.?= Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 22 Feb 2025 17:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76488@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.17402442478542 (code B ref 76488); Sat, 22 Feb 2025 17:11:02 +0000 Received: (at 76488) by debbugs.gnu.org; 22 Feb 2025 17:10:47 +0000 Received: from localhost ([127.0.0.1]:57043 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tlt1a-0002Db-CG for submit@debbugs.gnu.org; Sat, 22 Feb 2025 12:10:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58928) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tlt1R-0002Cf-2N for 76488@debbugs.gnu.org; Sat, 22 Feb 2025 12:10:40 -0500 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 1tlt1L-0004L4-OJ; Sat, 22 Feb 2025 12:10:31 -0500 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=iILKr3rtmfSVxNWCCARoYHwHho3h3VPVnc84U5rZlKA=; b=ClDqIzL0nbT035zbex7M brKEasCo6HfS9sqVxM3SqA7heAwYepKyloVq/HLROkYs5ozKLZQN8Mvf+pfA8t88eNcmulx7UsKQ3 HVZkRkKGMHC35qfZVQtQmFcNOSxedJI6GcfECTvztqgrHmOgxwTw9uplAftuRa5/Hnn6hk9n+9yho x0w4KuFuzpoVELESM8UM6o9bN8nkrmQyZe3TO4myf6MIjl43BMgv6FcUGxAre4FcJnnP0o1KlTNYc 47SzLYNJWkSi1Fm8zlKC+Dh8Sb4Z88yTXFmDdQMg8HTonEpHpC2Q0lR2R38txvhMaJe1p7m7znLn/ 4ppcbVUjoqHKpQ==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Sat, 22 Feb 2025 18:10:13 +0100 Message-ID: <5d7a1ecb87b871dc98c22be29041361bf543076a.1740243928.git.ludo@gnu.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/tests.scm (%default-marionette-device): New variable. ()[device]: Use it. (marionette-program): Make all parameters optional and export. Change-Id: I496d88253b5ebad60da09a0cca5ed960aa2ab389 --- gnu/tests.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/tests.scm b/gnu/tests.scm index 2a9e51511f0..da0b0146ea7 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016-2020, 2022-2024 Ludovic Courtès +;;; Copyright © 2016-2020, 2022-2025 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2021 Maxime Devos @@ -48,6 +48,7 @@ (define-module (gnu tests) marionette-service-type marionette-operating-system + marionette-program define-os-with-source %simple-os @@ -72,11 +73,15 @@ (define-module (gnu tests) ;;; ;;; Code: +(define %default-marionette-device + ;; Default marionette device in the guest. + "/dev/virtio-ports/org.gnu.guix.port.0") + (define-record-type* marionette-configuration make-marionette-configuration marionette-configuration? (device marionette-configuration-device ;string - (default "/dev/virtio-ports/org.gnu.guix.port.0")) + (default %default-marionette-device)) (imported-modules marionette-configuration-imported-modules (default '())) (extensions marionette-configuration-extensions @@ -92,7 +97,10 @@ (define-syntax-rule (with-imported-modules-and-extensions imported-modules (with-extensions extensions gexp))) -(define (marionette-program device imported-modules extensions) +(define* (marionette-program #:optional + (device %default-marionette-device) + (imported-modules '()) + (extensions '())) "Return the program that runs the marionette REPL on DEVICE. Ensure IMPORTED-MODULES and EXTENSIONS are accessible from the REPL." (define code -- 2.48.1 From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 4/4] tests: Test installation on Debian. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 22 Feb 2025 17:11:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76488@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.17402442488553 (code B ref 76488); Sat, 22 Feb 2025 17:11:03 +0000 Received: (at 76488) by debbugs.gnu.org; 22 Feb 2025 17:10:48 +0000 Received: from localhost ([127.0.0.1]:57045 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tlt1b-0002Dj-84 for submit@debbugs.gnu.org; Sat, 22 Feb 2025 12:10:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58966) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tlt1T-0002Cm-RB for 76488@debbugs.gnu.org; Sat, 22 Feb 2025 12:10:40 -0500 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 1tlt1O-0004LT-Gi; Sat, 22 Feb 2025 12:10:34 -0500 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=9lxNSCriN0s3RrKYtQo2/cragD6I+7yiy6yfnnojgro=; b=QxXpyJkQcbUbSyIjvv1O OgTdA3j0921lmQBDJoXxbTq6q3M7foQrDx8Q0csXV9zsHZ3FxQ+IYovGdQNFbsx3t0dI64Ax6wel9 3fed6t0uW+NH1Cu8c5e3MdzvNPqbGLYQCdQv3ylILC9fmEZJ09TypQwADXwD1mFIZ5KchYb/sm/DZ nFSZBIVyHJQRu02GjCKR5Z4TW/vS+u8/BXr2j/2NrtUA+DcazhNamsqEIbCp55mugu8diAxk8HufR xcgeLWhUVVCE6xPnKfeaWfO2WmYaittujSgGw4KtPkH2TA1mYcgzC58rf+9F/iH0mX6gBM+mwl6bG +fD3kBNhoZ3gCw==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Sat, 22 Feb 2025 18:10:16 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/tests/foreign.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Change-Id: I1f24d83bdc298acbef15db2e19775cc1d3fbd56c --- gnu/local.mk | 1 + gnu/tests/foreign.scm | 337 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 338 insertions(+) create mode 100644 gnu/tests/foreign.scm diff --git a/gnu/local.mk b/gnu/local.mk index c421da85cba..66cca59839e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -848,6 +848,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/docker.scm \ %D%/tests/emacs.scm \ %D%/tests/file-sharing.scm \ + %D%/tests/foreign.scm \ %D%/tests/ganeti.scm \ %D%/tests/gdm.scm \ %D%/tests/guix.scm \ diff --git a/gnu/tests/foreign.scm b/gnu/tests/foreign.scm new file mode 100644 index 00000000000..8cf580cb22d --- /dev/null +++ b/gnu/tests/foreign.scm @@ -0,0 +1,337 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2025 Ludovic Courtès +;;; +;;; 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 tests foreign) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix modules) + #:use-module (guix monads) + #:use-module (guix packages) + #:use-module (guix profiles) + #:autoload (guix store) (%store-prefix %store-monad %graft?) + #:use-module (gnu compression) + #:use-module (gnu tests) + #:use-module (gnu packages base) + #:use-module (gnu packages bootstrap) + #:use-module (gnu packages guile) + #:use-module (gnu packages make-bootstrap) + #:use-module (gnu packages package-management) + #:use-module (gnu packages virtualization) + #:use-module (gnu system vm) + #:use-module ((guix scripts pack) #:prefix pack:) + #:use-module (srfi srfi-9)) + +(define marionette-systemd-service + ;; Definition of the marionette service for systemd. + (plain-file "marionette.service" " +[Unit] +Description=Guix marionette service + +[Install] +WantedBy=multi-user.target + +[Service] +ExecStart=/opt/guix/bin/guile --no-auto-compile \\ + /opt/guix/share/guix/marionette-repl.scm\n")) + +(define* (qcow-image-with-marionette image + #:key + (name "image-with-marionette.qcow2") + (device "/dev/vdb1")) + "Instrument IMAGE, returning a new image that contains a statically-linked +Guile under /opt/guix and a marionette systemd service. The relevant file +system is expected to be on DEVICE." + (define vm + (virtual-machine + (marionette-operating-system %simple-os))) + + (define build + (with-imported-modules (source-module-closure + '((guix build utils) + (gnu build marionette))) + #~(begin + (use-modules (guix build utils) + (gnu build marionette)) + + (define target-image + #$output) + + (invoke #+(file-append qemu "/bin/qemu-img") + "create" "-b" #$image + "-F" "qcow2" "-f" "qcow2" target-image + "10G") + + ;; Run a VM that will mount IMAGE and populate it. This is somewhat + ;; more convenient to set up than 'guestfish' from libguestfs. + (let ((marionette + (make-marionette + (list #$vm "-drive" + (string-append "file=" target-image + ",format=qcow2,if=virtio," + "cache=writeback,werror=report,readonly=off"))))) + + (marionette-eval '(system* "mount" #$device "/mnt") + marionette) + (marionette-eval '(system* "ls" "-la" "/mnt") + marionette) + (marionette-eval '(begin + (use-modules (guix build utils)) + (mkdir-p "/mnt/opt/guix") + (copy-recursively #$%guile-static-initrd + "/mnt/opt/guix" + #:log (%make-void-port "w"))) + marionette) + (marionette-eval '(system* "/mnt/opt/guix/bin/guile" "--version") + marionette) + (unless (= 42 (status:exit-val + (marionette-eval '(system* "/mnt/opt/guix/bin/guile" + "-c" "(exit 42)") + marionette))) + (error "statically-linked Guile is broken")) + + ;; Install the marionette systemd service and activate it. + (marionette-eval '(begin + (mkdir-p "/mnt/opt/guix/share/guix") + (copy-file #$(marionette-program) + "/mnt/opt/guix/share/guix/marionette-repl.scm") + + (mkdir-p "/mnt/etc/systemd/system") + (copy-file #$marionette-systemd-service + "/mnt/etc/systemd/system/marionette.service") + + ;; Activate the service, as per 'systemctl + ;; enable marionette.service'. + (symlink + "/etc/systemd/system/marionette.service" + "/mnt/etc/systemd/system/multi-user.target.wants/marionette.service")) + marionette) + + (unless (zero? (marionette-eval '(system* "umount" "/mnt") + marionette)) + (error "failed to unmount device")))))) + + (computed-file name build)) + +(define (manifest-entry-without-grafts entry) + "Return ENTRY with grafts disabled on its contents." + (manifest-entry + (inherit entry) + (item (with-parameters ((%graft? #f)) + (manifest-entry-item entry))))) + +(define %installation-tarball-manifest + ;; Manifest of the Guix installation tarball. + (concatenate-manifests + (list (packages->manifest (list guix)) + + ;; Include the dependencies of 'hello' in addition to 'guix' so that + ;; we can test 'guix build hello'. + (map-manifest-entries + manifest-entry-without-grafts + (package->development-manifest hello)) + + ;; Add the source of 'hello'. + (manifest + (list (manifest-entry + (name "hello-source") + (version (package-version hello)) + (item (let ((file (origin-actual-file-name + (package-source hello)))) + (computed-file + "hello-source" + #~(begin + ;; Put the tarball in a subdirectory since + ;; profile union crashes otherwise. + (mkdir #$output) + (mkdir (in-vicinity #$output "src")) + (symlink #$(package-source hello) + (in-vicinity #$output + (string-append "src/" + #$file)))))))))) + + ;; Include 'guile-final', which is needed when building derivations + ;; such as that of 'hello' but missing from the development manifest. + ;; Add '%bootstrap-guile', used by 'guix install --bootstrap'. + (map-manifest-entries + manifest-entry-without-grafts + (packages->manifest (list (canonical-package guile-3.0) + %bootstrap-guile)))))) + +(define %guix-install-script + ;; The 'guix-install.sh' script. + ;; + ;; To test local changes, replace the expression below with: + ;; + ;; (local-file "../../etc/guix-install.sh") + ;; + ;; This cannot be done unconditionally since that file does not exists in + ;; inferiors. + (file-append (package-source guix) "/etc/guix-install.sh")) + +(define (run-foreign-install-test image name) + "Run an installation of Guix in IMAGE, the QCOW2 image of a systemd-based +GNU/Linux distro, and check that the installation is functional." + (define instrumented-image + (qcow-image-with-marionette image + #:name (string-append name ".qcow2"))) + + (define (test tarball) + (with-imported-modules (source-module-closure + '((gnu build marionette) + (gnu system file-systems))) + #~(begin + (use-modules (gnu build marionette) + (gnu system file-systems) + (srfi srfi-64) + (ice-9 match)) + + (define marionette + (make-marionette + (list (string-append #$qemu-minimal "/bin/" (qemu-command)) + #$@(common-qemu-options instrumented-image + (list (%store-prefix)) + #:image-format "qcow2" + #:rw-image? #t) + "-m" "512" + "-snapshot"))) + + (test-runner-current (system-test-runner #$output)) + (test-begin "foreign-install") + + (test-equal "marionette works" + "Linux" + (marionette-eval '(utsname:sysname (uname)) + marionette)) + + (test-equal "mount host file store" + 0 + (marionette-eval + '(begin + (mkdir "/host") + (system* "mount" "-t" "9p" + "-o" "trans=virtio,cache=loose,ro" + #$(file-system->mount-tag (%store-prefix)) + "/host")) + marionette)) + + (test-assert "screenshot before" + (marionette-control (string-append "screendump " #$output + "/before-install.ppm") + marionette)) + + (test-assert "install fake dependencies" + ;; The installation script insists on checking for the + ;; availability of 'wget' and 'gpg' but does not actually use them + ;; when 'GUIX_BINARY_FILE_NAME' is set. Provide fake binaries. + (marionette-eval '(begin + (symlink "/bin/true" "/bin/wget") + (symlink "/bin/true" "/bin/gpg") + #t) + marionette)) + + (test-assert "run install script" + (marionette-eval '(system + (string-append + "yes '' | GUIX_BINARY_FILE_NAME=" + (in-vicinity "/host" + (basename #$tarball)) + " sh " + (in-vicinity + "/host" + (string-drop #$%guix-install-script + #$(string-length + (%store-prefix)))))) + marionette)) + + (test-equal "hello not already built" + #f + ;; Check that the next test will really build 'hello'. + (marionette-eval '(file-exists? + #$(with-parameters ((%graft? #f)) + hello)) + marionette)) + + (test-equal "guix build hello" + 0 + ;; Check that guix-daemon is up and running and that the build + ;; environment is properly set up (build users, etc.). + (marionette-eval '(system* "guix" "build" "hello" "--no-grafts") + marionette)) + + (test-assert "hello indeed built" + (marionette-eval '(file-exists? + #$(with-parameters ((%graft? #f)) + hello)) + marionette)) + + (test-equal "guix install hello" + 0 + ;; Check that ~/.guix-profile & co. are properly created. + (marionette-eval '(let ((pw (getpwuid (getuid)))) + (setenv "USER" (passwd:name pw)) + (setenv "HOME" (pk 'home (passwd:dir pw))) + (system* "guix" "install" "hello" + "--no-grafts" "--bootstrap")) + marionette)) + + (test-equal "user profile created" + 0 + (marionette-eval '(system "ls -lad ~/.guix-profile") + marionette)) + + (test-equal "hello" + 0 + (marionette-eval '(system "~/.guix-profile/bin/hello") + marionette)) + + (test-assert "screenshot after" + (marionette-control (string-append "screendump " #$output + "/after-install.ppm") + marionette)) + + (test-end)))) + + (mlet* %store-monad ((profile (profile-derivation + %installation-tarball-manifest)) + (tarball (pack:self-contained-tarball + "guix-binary" profile + #:compressor (lookup-compressor "zstd") + #:profile-name "current-guix" + #:localstatedir? #t))) + (gexp->derivation name (test tarball)))) + +(define debian-12-qcow2 + ;; Image taken from . + ;; XXX: Those images are periodically removed from debian.org. + (origin + (uri + "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.qcow2") + (method url-fetch) + (sha256 + (base32 + "06vlcq2dzgczlyp9lfkkdf3dgvfjp22lh5xz0mnl0bdgzq61sykb")))) + +(define %test-foreign-install + (system-test + (name "debian-install") + (description + "Test installation of Guix on Debian using the @file{guix-install.sh} +script.") + (value (run-foreign-install-test debian-12-qcow2 name)))) + +%test-foreign-install -- 2.48.1 From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 4/4] tests: Test installation on Debian. Resent-From: Rodion Goritskov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 23 Feb 2025 21:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 76488@debbugs.gnu.org Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174034573130358 (code B ref 76488); Sun, 23 Feb 2025 21:23:02 +0000 Received: (at 76488) by debbugs.gnu.org; 23 Feb 2025 21:22:11 +0000 Received: from localhost ([127.0.0.1]:37015 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmJQQ-0007tU-B7 for submit@debbugs.gnu.org; Sun, 23 Feb 2025 16:22:11 -0500 Received: from mail.goritskov.com ([65.108.121.176]:46834) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmJQ6-0007sO-4a for 76488@debbugs.gnu.org; Sun, 23 Feb 2025 16:21:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=goritskov.com; s=04012025; t=1740345520; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OlN0VMdjbne06DHWzWVB+lwbQnxhN4xpLpvIwFkGLGQ=; b=KJvxc+6hl4saetuz4CIS85EaPY7YMtsYVDnz0tk5UH2mWe2PG8pvR8m9o31ZR7IpCFeTto lrJodTkZ0vhyTID6DvxLVoO9JhFnRm9m/rNYPS6Wy2+km4jjhSa6xc2bT5G3/GyMpYvF2i 0934Kq2IL2+ICIFE7tlM51gn4gPcZ2Y= Received: from bumblebee-old (port-92-196-224-5.dynamic.as20676.net [92.196.224.5]) by mail.goritskov.com (OpenSMTPD) with ESMTPSA id a5afa3ea (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sun, 23 Feb 2025 21:18:40 +0000 (UTC) From: Rodion Goritskov In-Reply-To: ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Sat, 22 Feb 2025 18:10:16 +0100") References: Date: Sun, 23 Feb 2025 22:21:46 +0100 Message-ID: <878qpwmk5x.fsf@goritskov.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Ludovic Court=C3=A8s writes: > * gnu/tests/foreign.scm: New file. > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. > > Change-Id: I1f24d83bdc298acbef15db2e19775cc1d3fbd56c > --- > gnu/local.mk | 1 + > gnu/tests/foreign.scm | 337 ++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 338 insertions(+) I got some questions on the test itself. > diff --git a/gnu/tests/foreign.scm b/gnu/tests/foreign.scm > new file mode 100644 > index 00000000000..8cf580cb22d > --- /dev/null > +++ b/gnu/tests/foreign.scm > +(define-module (gnu tests foreign) > + #:use-module (guix download) > + #:use-module (guix gexp) > + #:use-module (guix modules) > + #:use-module (guix monads) > + #:use-module (guix packages) > + #:use-module (guix profiles) > + #:autoload (guix store) (%store-prefix %store-monad %graft?) > + #:use-module (gnu compression) > + #:use-module (gnu tests) > + #:use-module (gnu packages base) > + #:use-module (gnu packages bootstrap) > + #:use-module (gnu packages guile) > + #:use-module (gnu packages make-bootstrap) > + #:use-module (gnu packages package-management) > + #:use-module (gnu packages virtualization) > + #:use-module (gnu system vm) > + #:use-module ((guix scripts pack) #:prefix pack:) > + #:use-module (srfi srfi-9)) How could I run this test? As I see, the #:export is missing, so I couldn't run it with the make check-system. Sorry, I am kind of a newcomer to the Guile world - I see the call of the %test-foreign-install in the end of the file, but how should I run the whole file? > + (define vm > + (virtual-machine > + (marionette-operating-system %simple-os))) Somehow I got some out of memory errors a couple of times during the qcow build with this configuration - so I changed to the following and stopped encountering this issue (odd that 256 MB is not enough here sometimes): > (define vm > (virtual-machine > (operating-system (marionette-operating-system %simple-os)) > (memory-size 512))) > + (marionette-eval '(begin > + (use-modules (guix build utils)) > + (mkdir-p "/mnt/opt/guix") > + (copy-recursively #$%guile-static-initrd > + "/mnt/opt/guix" > + #:log (%make-void-port= "w"))) On this step I see, that guile reports that source files are newer than go files and starts recompilation. Probably, that is because of updated timestamps when copying. Looks like it could be fixed with the keep-mtime? set to true. > (marionette-eval '(begin > (use-modules (guix build utils)) > (mkdir-p "/mnt/opt/guix") > (copy-recursively #$%guile-static-initrd > "/mnt/opt/guix" > #:log (%make-void-port "= w") > #:keep-mtime? #t)) After that test installs guix on debian, but during the build of hello it starts building all the dependencies, which is unexpected, I think, and fails during the fetching of sources (which is, probably, expected, because the network is not available). Sorry for the inconvenience, I still figuring out how it works (or should work). From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 4/4] tests: Test installation on Debian. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 23 Feb 2025 22:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Rodion Goritskov Cc: 76488@debbugs.gnu.org Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.17403480515145 (code B ref 76488); Sun, 23 Feb 2025 22:01:02 +0000 Received: (at 76488) by debbugs.gnu.org; 23 Feb 2025 22:00:51 +0000 Received: from localhost ([127.0.0.1]:37133 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmK1q-0001Kv-Sd for submit@debbugs.gnu.org; Sun, 23 Feb 2025 17:00:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48348) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmK1p-0001Ke-2x for 76488@debbugs.gnu.org; Sun, 23 Feb 2025 17:00:49 -0500 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 1tmK1j-0003ba-Jt; Sun, 23 Feb 2025 17:00:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=pNGYmFQY07bgYoDYNOmkw+vrfbOsoMT9RWdbkWkX2p0=; b=e96EtrqOiOFe4fDm9Ymh 0FJoeoHeMYKgnYKDEpr04i4kSRFYHm9Ip7beUl0cEFimRfCT7Z0xOs0mMpBs1rO5IZL/NT5A/q+Bu RP2oXVgi/Ozp8QgiVXo7NAMzl3d07+eJRXorvJMtnGIPNPfhGLtU4f1KRvQ8pfgoDcNjSmWrT/ucS rtdNTtoZzfEiYfl80GW3YTIaNxPVEINb/K6DE95kgueh03LlBhy+nwbaIH/9v2AJWfdDYhPdrTsIc R0/TXXaZC2N/uwsgw8d/2pm0a7rvTDvHwwkYegnUBfcYkD1n398P/DLGc7XsdO+3H3ffHnxVRQ/5J jk+cjS/qPcBw1A==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: <878qpwmk5x.fsf@goritskov.com> (Rodion Goritskov's message of "Sun, 23 Feb 2025 22:21:46 +0100") References: <878qpwmk5x.fsf@goritskov.com> Date: Sun, 23 Feb 2025 23:00:40 +0100 Message-ID: <87v7t0uxrr.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Rodion, Rodion Goritskov skribis: > How could I run this test? > As I see, the #:export is missing, so I couldn't run it with the make > check-system. > Sorry, I am kind of a newcomer to the Guile world - I see the call of > the %test-foreign-install in the end of the file, but how should I run > the whole file? Oops, I ran it with: ./pre-inst-env guix build -f gnu/tests/foreign.scm but really, it should have exported the test so one can run: make check-system TESTS=3Ddebian-install I=E2=80=99ll fix that in a second version. >> + (define vm >> + (virtual-machine >> + (marionette-operating-system %simple-os))) > > Somehow I got some out of memory errors a couple of times during the > qcow build with this configuration > - so I changed to the following and stopped encountering this issue (odd > that 256 MB is not enough here sometimes): Interesting; it worked for me. But perhaps that has to do with the timestamp issue: if .scm files were being recompiled due to timestamps, then the process ended up consuming more memory. >> + (marionette-eval '(begin >> + (use-modules (guix build utils)) >> + (mkdir-p "/mnt/opt/guix") >> + (copy-recursively #$%guile-static-initrd >> + "/mnt/opt/guix" >> + #:log (%make-void-por= t "w"))) > > On this step I see, that guile reports that source files are newer than go > files and starts recompilation. > Probably, that is because of updated timestamps when copying. > Looks like it could be fixed with the keep-mtime? set to true. Yes, that=E2=80=99s a good idea. I guess I was just lucky the .scm timesta= mps looked older than .go timestamps. > After that test installs guix on debian, but during the build of > hello it starts building all the dependencies, which is unexpected, I > think, and fails during the fetching of sources (which is, probably, > expected, because the network is not available). =E2=80=98%installation-tarball-manifest=E2=80=99 is so that only =E2=80=98h= ello=E2=80=99 itself is missing from the store. If you observe that it tries to build more, then something is wrong; looking at the =E2=80=9CThe following derivations = will be built=E2=80=9D message can (maybe) give a hint, by looking at the bottom= of that long derivation list. Thanks for taking a look, I=E2=80=99ll send a new version fixing these issu= es! Ludo=E2=80=99. From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 4/4] tests: Test installation on Debian. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 24 Feb 2025 09:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 76488@debbugs.gnu.org Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174038945211188 (code B ref 76488); Mon, 24 Feb 2025 09:31:02 +0000 Received: (at 76488) by debbugs.gnu.org; 24 Feb 2025 09:30:52 +0000 Received: from localhost ([127.0.0.1]:38498 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmUnc-0002uN-8L for submit@debbugs.gnu.org; Mon, 24 Feb 2025 04:30:52 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:57797) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tmUnY-0002u7-LF for 76488@debbugs.gnu.org; Mon, 24 Feb 2025 04:30:49 -0500 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-439a331d981so35850825e9.3 for <76488@debbugs.gnu.org>; Mon, 24 Feb 2025 01:30:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740389442; x=1740994242; darn=debbugs.gnu.org; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:sender:from:to :cc:subject:date:message-id:reply-to; bh=ZuPjJ25Oqe2ve4V1BVmpEaeGywIBH3VwB1w+G8SyGDo=; b=CKPW/YJFfmxexV2E+3at/8vAqlSW4rbS4++lVp2LvfGqxGYR1h3vOCL5pija5NIrET IfVuOVXAUMj/vh+YSK5BTUiw62cun7+PCtqidoXPSMEYB+1IO2KaQ5TsdFAiRMCTt+Nl D2INuQNQwjOiM93xW6kLC/9jxXlwoBLg9SVRlLq64D3goCA36mInLWkLAT+7ZqQLO8ZL l8pO0vo7CciWF1Qaia2/9k7nIy7AnJfjJIBNlwhNVsNKQNci5otlp86j8blyOdgTXPik eS3SPODuRMc0Dz5c7niusJcwxWvJIZAHG025VcgrxwSxDWFGd2Ctvo8XW3jWCM2FPvQ4 C4DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740389442; x=1740994242; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZuPjJ25Oqe2ve4V1BVmpEaeGywIBH3VwB1w+G8SyGDo=; b=N5wCln5ZECxDmbnGPLPLcVJq4htrNTxcamr7+3hbK/eg9ceKWHqCMO8tp7BGjq/YJN QIW9TcN9XE8mwadYrM6EH2dvYTwJ+uo+rOO2yluGP3KoUtR6nqOaawkkGU4mQsnE00mk E46oZI68WHR+9o/MoIOfiBhD9oDDXarz92gFaLSGCby5KA9cDSTie0XOZxHxjeH7R7oR 2exEauvcNs076OaLP5GCBVQ6VkqT4g5JIz+3qGXmyJNg0o4S/AJKnhxpf8aDdkXWTMvP SAM1q19sHPO7b2f8RCU0lmjgw+pd3cutr58SqMtv3acVDdArcPirmsFgApTixuTpfKfa jOeA== X-Gm-Message-State: AOJu0YzQhTCAGTrb2yWn5hRLb3iaB++TjPWzJfOEjUcHjpom+DSQx6Jm OYhE6KPIHeJaoAsyHwH8bBtnHAJ7gM7tFgQwyr4pY7pi2H/LCVsA X-Gm-Gg: ASbGncsgkymxge6FQ7/pEVMyLHqPEeqsPLPfhMZEH6LO33sCRLNHFEi6bOwZkS7osbC R86O2vvZgRyuNgFo0FC+mVvy9pIWVE9hsDJL314MvkDhMLY+Q1QICME2FFJwU22kMqNws3hy9h8 AntlxV8ZC0RTit0QOQNnUfUXEeZfZXb82D0pvavvufwXnYjkWwpE6/l1RjpFCzbFp6JbBmldObh s3UjS+PdoTmEvw2UlgkQO67Jbt/SvjjFHjpIBHQtvIrK1FSogRDtcWAUogFBtHcnK49atA5u2oD 2QRv+jfcE2oVJecVEiDYlTea X-Google-Smtp-Source: AGHT+IGQKb/c4+0v5C4yhGfX7cwU4niq8o1CVxiHECsW3YGuW9R0+K/UcxyqY8wZpSdx07KpXCQtnQ== X-Received: by 2002:a05:6000:1546:b0:38f:3c8a:4bf4 with SMTP id ffacd0b85a97d-38f6e7561cdmr9840708f8f.6.1740389441792; Mon, 24 Feb 2025 01:30:41 -0800 (PST) Received: from localhost ([31.210.180.71]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-439b02d6974sm99519985e9.14.2025.02.24.01.30.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Feb 2025 01:30:41 -0800 (PST) Date: Mon, 24 Feb 2025 11:30:39 +0200 From: Efraim Flashner Message-ID: Mail-Followup-To: Efraim Flashner , Ludovic =?UTF-8?Q?Court=C3=A8s?= , 76488@debbugs.gnu.org References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="R/dxIYG77CryJuqa" Content-Disposition: inline In-Reply-To: X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --R/dxIYG77CryJuqa Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Feb 22, 2025 at 06:10:16PM +0100, Ludovic Court=C3=A8s wrote: > + > +(define debian-12-qcow2 > + ;; Image taken from . > + ;; XXX: Those images are periodically removed from debian.org. > + (origin > + (uri > + "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-no= cloud-amd64.qcow2") > + (method url-fetch) > + (sha256 > + (base32 > + "06vlcq2dzgczlyp9lfkkdf3dgvfjp22lh5xz0mnl0bdgzq61sykb")))) >=20 It would probably be better to use the direct URL https://cloud.debian.org/images/cloud/bookworm/20250210-2019/debian-12-nocl= oud-amd64-20250210-2019.qcow2 I have questions about also running the test on aarch64 or powerpc64le, but that can be adjusted after the fact. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --R/dxIYG77CryJuqa Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAme8PDwACgkQQarn3Mo9 g1Gkww//QSWndYSCrrg/HfL8IzIlIwLVfmqHKoVaQQZa4C0muy6QF/SgfS1SHhAt nm78aRFrJgho4UZjLmHI+sKDpMwf4o32zKKJpY0Hbf6TZso6Ex+O2jHHIu0jBI4x OcyZjIGCmi7JyFQ31VecqOg/9t9nWgZZXeJ37IyE4l9ymWt3Og4b0wFZAZm0BoDP S1JIYXvxh5Spe1lB0Xo7f043g8KKNkn9WxoVrUbgL1MJX/Bz5n9btt84drkuad/8 PtNgFsD+fAhEIXgzzzB3U02qtZvxMv9H+upCVR0l9N3KgSpYyhLpBvyoAC8H/4bo aOiI0M0DdG+0ayo2K25EyAZFNG/1OCW5p1c5rr2S0uKLpWf/7ZXIcZQg69pwgSGf z91UKrndxEetTh0WOxvvYkpQ19Al+jg6PtILOi43L277izzisVRESraRc3kJhB64 uetHkEilJ/2QgMjxrffayGXfzRL9xTy/zGGejHiGWjxV4d3LCockG/qxxVbBjngK Ruj3Rrc/mDrpTq1e2OLnek7WV4AHviphMnMkXyCEok+Et8lR+IA3kA0zpyW2xYrL BAnCc+WC7Q+Qb1hyKO79nIzcy2SIdm636Nzi53gDvuokKQMbYakPThfbYoKX9/kE q2wtYhF6u7GlAunBoePzYXpedYUkjXwVPQ1lrGcfPR2u43NcKjk= =5vTh -----END PGP SIGNATURE----- --R/dxIYG77CryJuqa-- From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 4/4] tests: Test installation on Debian. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 24 Feb 2025 10:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Rodion Goritskov Cc: 76488@debbugs.gnu.org Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174039122816221 (code B ref 76488); Mon, 24 Feb 2025 10:01:02 +0000 Received: (at 76488) by debbugs.gnu.org; 24 Feb 2025 10:00:28 +0000 Received: from localhost ([127.0.0.1]:38536 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmVGC-0004DR-EK for submit@debbugs.gnu.org; Mon, 24 Feb 2025 05:00:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53784) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmVG8-0004D9-Q4 for 76488@debbugs.gnu.org; Mon, 24 Feb 2025 05:00:22 -0500 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 1tmVG2-0003Y7-U9; Mon, 24 Feb 2025 05:00:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=K4E4+g04+DHW/ehNCdeUn8do8rJJ2n/RR7u40YxpVtw=; b=j5q9hX0sECrRguGdhCch JjEqELl+hklyTtWgTlDs+TYSkodVElOQ4lUcEgiu7rwjs69Ssy99/ymbtul0+gFrwpUk6Yy9D0QLX En6wobjvV+IwZTrIey83yZ3zyr2Os9BpD6PA4DKbltet8jncUNNWgNznZCekZ99jxhse7h6Atwd4z QjbQJgQ33d4lxx/+D7Ix+3wmoEsOkGHBjFBS4MVP9P87u2OnpebuFZ/sxD/p0AeqcFn6FjO8/73Yn jUKRfbFbtK9mPVVgSRRNOsJx1bE9+wmMg+ZOqlqv0Q1tcqkgnPyz4xr0oecrqU5jw8Fsetzv3M+QA z4fIkhS5hn1SYg==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: <878qpwmk5x.fsf@goritskov.com> (Rodion Goritskov's message of "Sun, 23 Feb 2025 22:21:46 +0100") References: <878qpwmk5x.fsf@goritskov.com> Date: Mon, 24 Feb 2025 11:00:01 +0100 Message-ID: <87plj7slwe.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Rodion Goritskov skribis: > After that test installs guix on debian, but during the build of > hello it starts building all the dependencies, which is unexpected, I > think, and fails during the fetching of sources (which is, probably, > expected, because the network is not available). Silly me: this patch series actually depends on . That=E2=80=99s why you=E2=80=99re exp= eriencing this. As a workaround, you can build with =E2=80=98--no-grafts=E2=80=99. Ludo=E2=80=99. From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 4/4] tests: Test installation on Debian. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 24 Feb 2025 10:03:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Efraim Flashner Cc: 76488@debbugs.gnu.org Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174039133016450 (code B ref 76488); Mon, 24 Feb 2025 10:03:04 +0000 Received: (at 76488) by debbugs.gnu.org; 24 Feb 2025 10:02:10 +0000 Received: from localhost ([127.0.0.1]:38547 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmVHt-0004HF-Ko for submit@debbugs.gnu.org; Mon, 24 Feb 2025 05:02:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45822) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmVHq-0004Gd-MD for 76488@debbugs.gnu.org; Mon, 24 Feb 2025 05:02:07 -0500 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 1tmVHk-0003rO-Vx; Mon, 24 Feb 2025 05:02:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=IZB5FeQqINN5bkdQOPdOaibXnXDM8/M0Xm+oB8fVIyQ=; b=gqjMnORaoLKkyMMGuAFM UzmkrYzwx5SC3Ntj9IkIRUe2AzJHEq2v9RH6rwMShZ6mBJzJHmndzCmHm2Is/3x6AWvTZ7fPr8vdt fhodt9CONX4+xKbTfrr75ETRDzrl/jFPvS//Fr5XLCzzmoqZoxRpanDHufTbrg/H6tKOswyXIITWL zrajBs/XeWI74CRJcdqMKl74vsuATM92kURZrSw2c1cWy3IF137s5ZlxKDV5loMTpx7pnDYY6503o /2DcUafV0H1Snez494QgOiqNuiw5q0szQIAOLD7Ug4ye6jWE5azR/2ZdWe3zi1kWKIPkcxPiK/5N0 j8ahWAup/7hc8w==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: (Efraim Flashner's message of "Mon, 24 Feb 2025 11:30:39 +0200") References: Date: Mon, 24 Feb 2025 11:01:57 +0100 Message-ID: <87ldtvslt6.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello, Efraim Flashner skribis: > It would probably be better to use the direct URL > https://cloud.debian.org/images/cloud/bookworm/20250210-2019/debian-12-no= cloud-amd64-20250210-2019.qcow2 Will do! > I have questions about also running the test on aarch64 or powerpc64le, > but that can be adjusted after the fact. Right. I only focused on x86_64-linux here. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 24 05:02:31 2025 Received: (at control) by debbugs.gnu.org; 24 Feb 2025 10:02:32 +0000 Received: from localhost ([127.0.0.1]:38553 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmVIF-0004I2-Kg for submit@debbugs.gnu.org; Mon, 24 Feb 2025 05:02:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48162) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmVIC-0004Hm-CH for control@debbugs.gnu.org; Mon, 24 Feb 2025 05:02:28 -0500 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 1tmVI6-0003wY-V8 for control@debbugs.gnu.org; Mon, 24 Feb 2025 05:02:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:Subject:From:To:Date:in-reply-to: references; bh=QM0AYB+WkeciBZEtPwH7onA1pm03290Fhul29fuhRmE=; b=TP4yysJn7riLYP vDxYVTGAK3iI9Yz+x2tScgGUMgofgYzYZoweUxXKxuT4vu5tNys8ltSf12aAKBHiGwS4Y8CNsWGdk ah8TZqlHMaEMJF5tdz1HTFCrhViFNICr5m6yhwlT7LSt0OYvNAB3Xl/Yv7tr9QtO5crYhIXxldKZU lAgmPjrFa5R++Sdm19pWpyJD1C0G9dF+nkNDwEIIvr4yd71s1Z22XN6wj2GZ5czdgXempoc0E0EXI vZ0woShvXKpdqwZxSYTvnVvPBEfQCtCoExYA1Oa+GJsZrxKqingvDAiEAwyrn/LoTAheql28wsyhn wrkIPF1nn0SLGWy+brRQ==; Date: Mon, 24 Feb 2025 11:02:20 +0100 Message-Id: <87jz9fslsj.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #76488 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) block 76488 by 76485 quit From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH v2 0/4] Test installation on Debian References: In-Reply-To: Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 24 Feb 2025 12:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76488@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174040118215318 (code B ref 76488); Mon, 24 Feb 2025 12:47:01 +0000 Received: (at 76488) by debbugs.gnu.org; 24 Feb 2025 12:46:22 +0000 Received: from localhost ([127.0.0.1]:38848 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmXqn-0003yx-NI for submit@debbugs.gnu.org; Mon, 24 Feb 2025 07:46:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43154) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmXqk-0003yi-Fh for 76488@debbugs.gnu.org; Mon, 24 Feb 2025 07:46:19 -0500 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 1tmXqe-0000kP-Ob; Mon, 24 Feb 2025 07:46:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=ywB0CG+MGIJeI4UolOCW/acTbw1FxICJuHVsOZyppX4=; b=CYMgjqpitb7ANs aZCA3mxJFkM76yyYdkVLVGdkorIbMO5VOzAjZWGvuFemKCHMDzzqbPk6mYa8FJXn9bq9fsiRsTAoL WYfNZ+Z95EU3RXPM8Pkmq2/YzKw1Rq82FJqSvyiZJB+SGNXbD+JGrxhKpfMzWjf77zyNJTAJCabDK G4hhy+OMsCT/fUqt3c1UgwRRWYjxjU5bmxWAnVr76rbe3+Re8dzDFoJgFYyc5V7KIYdmKjwR/gRzl +zlfDqccYe9I7MnfVXh7P8giMQCvK4rUvvaFvsdICPYj48xHVOq1AM5ZRgYxtrO3cdKfu2ris+RzO Jy6bI276BJCmA53SkTyw==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Mon, 24 Feb 2025 13:45:47 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi! Changes in v2: • Export ‘%test-debian-install’ as suggested by Rodion. • Pass #:keep-mtime? #t to ‘copy-recursively’ as suggested by Rodion. • Use “full” URL to Debian image as suggested by Efraim. • Add test to check that the store is read-only. • Add test running ‘guix install’ as an unprivileged user. • Add test dumping /etc/os-release. Feedback welcome! Ludo’. Ludovic Courtès (4): tests: Export ‘marionette-program’. vm: ‘common-qemu-options’ splits command-line tokens. vm: Export ‘file-system->mount-tag’ and ‘common-qemu-options’. tests: Test installation on Debian. gnu/local.mk | 1 + gnu/system/vm.scm | 24 ++- gnu/tests.scm | 14 +- gnu/tests/foreign.scm | 379 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 406 insertions(+), 12 deletions(-) create mode 100644 gnu/tests/foreign.scm base-commit: 256e623843a70b001801dcddd7acb4138e6216b4 -- 2.48.1 From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH v2 3/4] vm: Export =?UTF-8?Q?=E2=80=98file-system->mount-tag=E2=80=99?= and =?UTF-8?Q?=E2=80=98common-qemu-options=E2=80=99.?= Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 24 Feb 2025 12:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76488@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174040118915358 (code B ref 76488); Mon, 24 Feb 2025 12:47:02 +0000 Received: (at 76488) by debbugs.gnu.org; 24 Feb 2025 12:46:29 +0000 Received: from localhost ([127.0.0.1]:38858 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmXqv-0003ze-46 for submit@debbugs.gnu.org; Mon, 24 Feb 2025 07:46:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33012) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmXqt-0003z2-7X for 76488@debbugs.gnu.org; Mon, 24 Feb 2025 07:46:27 -0500 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 1tmXqi-0000kh-60; Mon, 24 Feb 2025 07:46:21 -0500 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=IYTNKFh2CZhPwTH/vq+gX8r5n92FU1BzGUWNuICccaA=; b=lBTYP9YGTsTL+nS6+83R N2/UsFYR0Pgsh0zq5iRd/hf44PYTJb1k5BnUy58VwgNM9hWvYFkp5TCYwG88ztoi6EYDqGkz9SmLh b9GWF4uTmuDoYgxoB98iqYO4ir26QGWcrfClvXBxJ9As00zmGmux1hRFA/Gk9/MummpmkIyTFuAFJ 0X9EDq4XnFPl4vlWi0z6z9Bc3FozUABAE6PFXPy0mwxYSBRq1cYmg8CeSkWFmaGp6DpE8KNDzlyc3 nJWA98h860svJAz/pgIOV80ONOnymtnsUYhSV6bkU8+8XPCvvjlGa4bctUbFR8xCrLs8Yn5Eco0iB h80e1Isq6zhU4g==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Mon, 24 Feb 2025 13:45:50 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/system/vm.scm (file-system->mount-tag, common-qemu-options): Export. Change-Id: I7228e5c02f07f8c8633a64c86d9c81aa3cb2e8b7 --- gnu/system/vm.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index dbfe873e4f5..4f2a27daf7a 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -85,7 +85,10 @@ (define-module (gnu system vm) virtual-machine-memory-size virtual-machine-disk-image-size virtual-machine-port-forwardings - virtual-machine-date)) + virtual-machine-date + + file-system->mount-tag + common-qemu-options)) ;;; Commentary: -- 2.48.1 From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH v2 2/4] vm: =?UTF-8?Q?=E2=80=98common-qemu-options=E2=80=99?= splits command-line tokens. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 24 Feb 2025 12:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76488@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174040119015366 (code B ref 76488); Mon, 24 Feb 2025 12:47:02 +0000 Received: (at 76488) by debbugs.gnu.org; 24 Feb 2025 12:46:30 +0000 Received: from localhost ([127.0.0.1]:38860 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmXqv-0003zk-Iy for submit@debbugs.gnu.org; Mon, 24 Feb 2025 07:46:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:32998) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmXqt-0003z0-5Y for 76488@debbugs.gnu.org; Mon, 24 Feb 2025 07:46:27 -0500 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 1tmXqh-0000kc-53; Mon, 24 Feb 2025 07:46:21 -0500 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=A6wC3vciTBAN1uMxnw0N4tNrObQQoeWqJP6ukYw2HbU=; b=al9/v4Pl0Sh0Sl05LQFa HVeriPRoFe+SAanjDPXZ07IKk6mRy6MEmfPnQmjfyORNg/VQHxK+XRMq6LaTkypBtene5MSq87Uxj 74aDqoUG7uCGN+gZmSgIngiDhaG/gSv/LdaLUskiTt8OkqTtV1qkdeT151zHnHKGTxIl3aMTUrsGR yySXcVeHrMlXclxT0j2zbD7im6S/9+TbGGmI9bFGr6eJ1acHkDA/rDoOIMHvfh054Yz2CbmI8hKGI eg/FPtTWOazqBNykpLbx91A/aHJv/efLwRNN30s0+dJda/2Zr3mSsBjiPtGoF9fC/GIDKbJ0h4Xjv zKrWm52kjt+Y5g==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Mon, 24 Feb 2025 13:45:49 +0100 Message-ID: <70d3a086aeed2da038467f6c4670e51b61f29cc6.1740400981.git.ludo@gnu.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) The result returned so far by ‘common-qemu-options’ assumed that it would be passed to a shell. This is the case when using ‘system-qemu-image/shared-store-script’ but possibly not in other cases. * gnu/system/vm.scm (common-qemu-options): Add #:image-format. [virtfs-option]: Return a list of strings instead of a single "-virtfs xyz" string. Update caller to use ‘append-map’. Separate "-drive" string. Change-Id: Ib07c27e2c4b2d222d7db2c612bb045d330bc7f68 --- gnu/system/vm.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 1e3f72c7b2a..dbfe873e4f5 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013-2024 Ludovic Courtès +;;; Copyright © 2013-2025 Ludovic Courtès ;;; Copyright © 2016 Christine Lemmer-Webber ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2017 Mathieu Othacehe @@ -211,14 +211,16 @@ (define* (virtualized-operating-system os (define* (common-qemu-options image shared-fs #:key + (image-format "raw") rw-image? (target (%current-target-system))) "Return the a string-value gexp with the common QEMU options to boot IMAGE, with '-virtfs' options for the host file systems listed in SHARED-FS." (define (virtfs-option fs) - #~(format #f "-virtfs local,path=~s,security_model=none,mount_tag=~s" - #$fs #$(file-system->mount-tag fs))) + #~("-virtfs" + (format #f "local,path=~a,security_model=none,mount_tag=~a" + #$fs #$(file-system->mount-tag fs)))) #~(;; Only enable kvm if we see /dev/kvm exists. ;; This allows users without hardware virtualization to still use these @@ -230,11 +232,12 @@ (define* (common-qemu-options image shared-fs "-object" "rng-random,filename=/dev/urandom,id=guix-vm-rng" "-device" "virtio-rng-pci,rng=guix-vm-rng" - #$@(map virtfs-option shared-fs) - #$@(if rw-image? - #~((format #f "-drive file=~a,format=qcow2,if=virtio" #$image)) - #~((format #f "-drive file=~a,format=raw,if=virtio,cache=writeback,werror=report,readonly=on" - #$image))))) + #$@(append-map virtfs-option shared-fs) + "-drive" + #$(if rw-image? + #~(format #f "file=~a,format=qcow2,if=virtio" #$image) + #~(format #f "file=~a,format=~a,if=virtio,cache=writeback,werror=report,readonly=on" + #$image #$image-format)))) (define* (system-qemu-image/shared-store-script os #:key -- 2.48.1 From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH v2 1/4] tests: Export =?UTF-8?Q?=E2=80=98marionette-program=E2=80=99.?= Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 24 Feb 2025 12:47:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76488@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174040120015393 (code B ref 76488); Mon, 24 Feb 2025 12:47:03 +0000 Received: (at 76488) by debbugs.gnu.org; 24 Feb 2025 12:46:40 +0000 Received: from localhost ([127.0.0.1]:38862 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmXr5-00040A-5z for submit@debbugs.gnu.org; Mon, 24 Feb 2025 07:46:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33020) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmXqt-0003z7-7m for 76488@debbugs.gnu.org; Mon, 24 Feb 2025 07:46:28 -0500 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 1tmXqf-0000kb-Vy; Mon, 24 Feb 2025 07:46:21 -0500 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=iILKr3rtmfSVxNWCCARoYHwHho3h3VPVnc84U5rZlKA=; b=P/apxKIYXolJp82bRS1Q g3SAmibAE+MJx2BfJTz+6lZL+iIR5hCC/ujoN1UmPl886vP8ihuBPuiGj2cedivwIMm237ugGGphI pPrfR/WtUNcHvkCDk/k26ldYCI4FhTZPOTBkz552E8sySs+JL6W2GG9XHR3UenqYeZErJ1Sfq1k8S rUMKG6go43km1vjmFd5WQb9d8GR/bcynxssA1z7dFQxnz3ONMMz2u52z8NCIbGO2a8jYOlp74nIOO Eus6jX7qb2Oe9R6VXNMsQ0ifkskBfsO+JVr5JBdWnmsBXvTN0rzdE5BtKx4bgMsNlxnaT9JroLMm/ GIk1hIyWXGEIsg==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Mon, 24 Feb 2025 13:45:48 +0100 Message-ID: <5d7a1ecb87b871dc98c22be29041361bf543076a.1740400981.git.ludo@gnu.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/tests.scm (%default-marionette-device): New variable. ()[device]: Use it. (marionette-program): Make all parameters optional and export. Change-Id: I496d88253b5ebad60da09a0cca5ed960aa2ab389 --- gnu/tests.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/tests.scm b/gnu/tests.scm index 2a9e51511f0..da0b0146ea7 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016-2020, 2022-2024 Ludovic Courtès +;;; Copyright © 2016-2020, 2022-2025 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2021 Maxime Devos @@ -48,6 +48,7 @@ (define-module (gnu tests) marionette-service-type marionette-operating-system + marionette-program define-os-with-source %simple-os @@ -72,11 +73,15 @@ (define-module (gnu tests) ;;; ;;; Code: +(define %default-marionette-device + ;; Default marionette device in the guest. + "/dev/virtio-ports/org.gnu.guix.port.0") + (define-record-type* marionette-configuration make-marionette-configuration marionette-configuration? (device marionette-configuration-device ;string - (default "/dev/virtio-ports/org.gnu.guix.port.0")) + (default %default-marionette-device)) (imported-modules marionette-configuration-imported-modules (default '())) (extensions marionette-configuration-extensions @@ -92,7 +97,10 @@ (define-syntax-rule (with-imported-modules-and-extensions imported-modules (with-extensions extensions gexp))) -(define (marionette-program device imported-modules extensions) +(define* (marionette-program #:optional + (device %default-marionette-device) + (imported-modules '()) + (extensions '())) "Return the program that runs the marionette REPL on DEVICE. Ensure IMPORTED-MODULES and EXTENSIONS are accessible from the REPL." (define code -- 2.48.1 From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH v2 4/4] tests: Test installation on Debian. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 24 Feb 2025 12:47:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76488@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174040120015399 (code B ref 76488); Mon, 24 Feb 2025 12:47:03 +0000 Received: (at 76488) by debbugs.gnu.org; 24 Feb 2025 12:46:40 +0000 Received: from localhost ([127.0.0.1]:38864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmXr5-00040G-UO for submit@debbugs.gnu.org; Mon, 24 Feb 2025 07:46:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33018) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmXqt-0003z6-7r for 76488@debbugs.gnu.org; Mon, 24 Feb 2025 07:46:28 -0500 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 1tmXqj-0000ki-8p; Mon, 24 Feb 2025 07:46:21 -0500 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=1NCGw/GYXWAUUurlh8RDc1xcbMfNVpuHDJMLmLaev3Q=; b=m/4OBMRu0P81OQZxoW50 Y3/WWeeOgiS8203p3FTtsjUuLmoTXu1S2wYMcQ0pIKBL2TNweEE3Ujrk4uFZhoBuvay94IWwC7AKL eQzx/8gNcW/OpTuLuI5PgSnn1cuxeawU5mS71CeeNsWB47Lu8I2G9AvXro1C7hILX7wDfuRqyYwxa +04LO+qgXdp82BprC3/FPDIukRWfQbmZIdwDmJGROT8bcKyjVH9IYusQksvWAeg+ep3/+V8D3H51o isoM70epUvZXkoPlh5wwCgJGScVsFOlkYgL9sTyiIk6NbDKrl520zeYmF9QdYJHUjhoDxSt8h6qSn eRzVQWCBPKbi8g==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Mon, 24 Feb 2025 13:45:51 +0100 Message-ID: <742467b923f62ae257eda4e32893a1d0b144e8f6.1740400981.git.ludo@gnu.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/tests/foreign.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Change-Id: I1f24d83bdc298acbef15db2e19775cc1d3fbd56c --- gnu/local.mk | 1 + gnu/tests/foreign.scm | 379 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 380 insertions(+) create mode 100644 gnu/tests/foreign.scm diff --git a/gnu/local.mk b/gnu/local.mk index c421da85cba..66cca59839e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -848,6 +848,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/docker.scm \ %D%/tests/emacs.scm \ %D%/tests/file-sharing.scm \ + %D%/tests/foreign.scm \ %D%/tests/ganeti.scm \ %D%/tests/gdm.scm \ %D%/tests/guix.scm \ diff --git a/gnu/tests/foreign.scm b/gnu/tests/foreign.scm new file mode 100644 index 00000000000..a08622424a7 --- /dev/null +++ b/gnu/tests/foreign.scm @@ -0,0 +1,379 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2025 Ludovic Courtès +;;; +;;; 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 tests foreign) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix modules) + #:use-module (guix monads) + #:use-module (guix packages) + #:use-module (guix profiles) + #:autoload (guix store) (%store-prefix %store-monad %graft?) + #:use-module (gnu compression) + #:use-module (gnu tests) + #:use-module (gnu packages base) + #:use-module (gnu packages bootstrap) + #:use-module (gnu packages guile) + #:use-module (gnu packages make-bootstrap) + #:use-module (gnu packages package-management) + #:use-module (gnu packages virtualization) + #:use-module (gnu system vm) + #:use-module ((guix scripts pack) #:prefix pack:) + #:use-module (srfi srfi-9) + #:export (%test-debian-install)) + +(define marionette-systemd-service + ;; Definition of the marionette service for systemd. + (plain-file "marionette.service" " +[Unit] +Description=Guix marionette service + +[Install] +WantedBy=multi-user.target + +[Service] +ExecStart=/opt/guix/bin/guile --no-auto-compile \\ + /opt/guix/share/guix/marionette-repl.scm\n")) + +(define* (qcow-image-with-marionette image + #:key + (name "image-with-marionette.qcow2") + (device "/dev/vdb1")) + "Instrument IMAGE, returning a new image that contains a statically-linked +Guile under /opt/guix and a marionette systemd service. The relevant file +system is expected to be on DEVICE." + (define vm + (virtual-machine + (marionette-operating-system %simple-os))) + + (define build + (with-imported-modules (source-module-closure + '((guix build utils) + (gnu build marionette))) + #~(begin + (use-modules (guix build utils) + (gnu build marionette)) + + (define target-image + #$output) + + (invoke #+(file-append qemu "/bin/qemu-img") + "create" "-b" #$image + "-F" "qcow2" "-f" "qcow2" target-image + "10G") + + ;; Run a VM that will mount IMAGE and populate it. This is somewhat + ;; more convenient to set up than 'guestfish' from libguestfs. + (let ((marionette + (make-marionette + (list #$vm "-drive" + (string-append "file=" target-image + ",format=qcow2,if=virtio," + "cache=writeback,werror=report,readonly=off"))))) + + (marionette-eval '(system* "mount" #$device "/mnt") + marionette) + (marionette-eval '(system* "ls" "-la" "/mnt") + marionette) + (marionette-eval '(begin + (use-modules (guix build utils)) + (mkdir-p "/mnt/opt/guix") + (copy-recursively #$%guile-static-initrd + "/mnt/opt/guix" + #:log (%make-void-port "w") + #:keep-mtime? #t)) + marionette) + (marionette-eval '(system* "/mnt/opt/guix/bin/guile" "--version") + marionette) + (unless (= 42 (status:exit-val + (marionette-eval '(system* "/mnt/opt/guix/bin/guile" + "-c" "(exit 42)") + marionette))) + (error "statically-linked Guile is broken")) + + ;; Install the marionette systemd service and activate it. + (marionette-eval '(begin + (mkdir-p "/mnt/opt/guix/share/guix") + (copy-file #$(marionette-program) + "/mnt/opt/guix/share/guix/marionette-repl.scm") + + (mkdir-p "/mnt/etc/systemd/system") + (copy-file #$marionette-systemd-service + "/mnt/etc/systemd/system/marionette.service") + + ;; Activate the service, as per 'systemctl + ;; enable marionette.service'. + (symlink + "/etc/systemd/system/marionette.service" + "/mnt/etc/systemd/system/multi-user.target.wants/marionette.service")) + marionette) + + (unless (zero? (marionette-eval '(system* "umount" "/mnt") + marionette)) + (error "failed to unmount device")))))) + + (computed-file name build)) + +(define (manifest-entry-without-grafts entry) + "Return ENTRY with grafts disabled on its contents." + (manifest-entry + (inherit entry) + (item (with-parameters ((%graft? #f)) + (manifest-entry-item entry))))) + +(define %installation-tarball-manifest + ;; Manifest of the Guix installation tarball. + (concatenate-manifests + (list (packages->manifest (list guix)) + + ;; Include the dependencies of 'hello' in addition to 'guix' so that + ;; we can test 'guix build hello'. + (map-manifest-entries + manifest-entry-without-grafts + (package->development-manifest hello)) + + ;; Add the source of 'hello'. + (manifest + (list (manifest-entry + (name "hello-source") + (version (package-version hello)) + (item (let ((file (origin-actual-file-name + (package-source hello)))) + (computed-file + "hello-source" + #~(begin + ;; Put the tarball in a subdirectory since + ;; profile union crashes otherwise. + (mkdir #$output) + (mkdir (in-vicinity #$output "src")) + (symlink #$(package-source hello) + (in-vicinity #$output + (string-append "src/" + #$file)))))))))) + + ;; Include 'guile-final', which is needed when building derivations + ;; such as that of 'hello' but missing from the development manifest. + ;; Add '%bootstrap-guile', used by 'guix install --bootstrap'. + (map-manifest-entries + manifest-entry-without-grafts + (packages->manifest (list (canonical-package guile-3.0) + %bootstrap-guile)))))) + +(define %guix-install-script + ;; The 'guix-install.sh' script. + ;; + ;; To test local changes, replace the expression below with: + ;; + ;; (local-file "../../etc/guix-install.sh") + ;; + ;; This cannot be done unconditionally since that file does not exists in + ;; inferiors. + (file-append (package-source guix) "/etc/guix-install.sh")) + +(define (run-foreign-install-test image name) + "Run an installation of Guix in IMAGE, the QCOW2 image of a systemd-based +GNU/Linux distro, and check that the installation is functional." + (define instrumented-image + (qcow-image-with-marionette image + #:name (string-append name ".qcow2"))) + + (define (test tarball) + (with-imported-modules (source-module-closure + '((gnu build marionette) + (gnu system file-systems))) + #~(begin + (use-modules (gnu build marionette) + (gnu system file-systems) + (srfi srfi-64) + (ice-9 match)) + + (define marionette + (make-marionette + (list (string-append #$qemu-minimal "/bin/" (qemu-command)) + #$@(common-qemu-options instrumented-image + (list (%store-prefix)) + #:image-format "qcow2" + #:rw-image? #t) + "-m" "512" + "-snapshot"))) + + (test-runner-current (system-test-runner #$output)) + (test-begin "foreign-install") + + (test-equal "marionette works" + "Linux" + (marionette-eval '(utsname:sysname (uname)) + marionette)) + + (test-assert "/etc/os-release" + (marionette-eval '(begin + (use-modules (ice-9 textual-ports)) + (call-with-input-file "/etc/os-release" + get-string-all)) + marionette)) + + (test-equal "mount host file store" + 0 + (marionette-eval + '(begin + (mkdir "/host") + (system* "mount" "-t" "9p" + "-o" "trans=virtio,cache=loose,ro" + #$(file-system->mount-tag (%store-prefix)) + "/host")) + marionette)) + + (test-assert "screenshot before" + (marionette-control (string-append "screendump " #$output + "/before-install.ppm") + marionette)) + + (test-assert "install fake dependencies" + ;; The installation script insists on checking for the + ;; availability of 'wget' and 'gpg' but does not actually use them + ;; when 'GUIX_BINARY_FILE_NAME' is set. Provide fake binaries. + (marionette-eval '(begin + (symlink "/bin/true" "/bin/wget") + (symlink "/bin/true" "/bin/gpg") + #t) + marionette)) + + (test-assert "run install script" + (marionette-eval '(system + (string-append + "yes '' | GUIX_BINARY_FILE_NAME=" + (in-vicinity "/host" + (basename #$tarball)) + " sh " + (in-vicinity + "/host" + (string-drop #$%guix-install-script + #$(string-length + (%store-prefix)))))) + marionette)) + + (test-equal "hello not already built" + #f + ;; Check that the next test will really build 'hello'. + (marionette-eval '(file-exists? + #$(with-parameters ((%graft? #f)) + hello)) + marionette)) + + (test-equal "guix build hello" + 0 + ;; Check that guix-daemon is up and running and that the build + ;; environment is properly set up (build users, etc.). + (marionette-eval '(system* "guix" "build" "hello" "--no-grafts") + marionette)) + + (test-assert "hello indeed built" + (marionette-eval '(file-exists? + #$(with-parameters ((%graft? #f)) + hello)) + marionette)) + + (test-equal "guix install hello" + 0 + ;; Check that ~/.guix-profile & co. are properly created. + (marionette-eval '(let ((pw (getpwuid (getuid)))) + (setenv "USER" (passwd:name pw)) + (setenv "HOME" (pk 'home (passwd:dir pw))) + (system* "guix" "install" "hello" + "--no-grafts" "--bootstrap")) + marionette)) + + (test-equal "user profile created" + 0 + (marionette-eval '(system "ls -lad ~/.guix-profile") + marionette)) + + (test-equal "hello" + 0 + (marionette-eval '(system "~/.guix-profile/bin/hello") + marionette)) + + (test-equal "create user account" + 0 + (marionette-eval '(system* "useradd" "-d" "/home/user" "-m" + "user") + marionette)) + + (test-equal "guix install hello, unprivileged user" + 0 + ;; Check that 'guix' is in $PATH for new users and that + ;; ~user/.guix-profile also gets created. + (marionette-eval '(system "su - user -c \ +'guix install hello --no-grafts --bootstrap'") + marionette)) + + (test-equal "user hello" + 0 + (marionette-eval '(system "~user/.guix-profile/bin/hello") + marionette)) + + (test-equal "unprivileged user profile created" + 0 + (marionette-eval '(system "ls -lad ~user/.guix-profile") + marionette)) + + (test-equal "store is read-only" + EROFS + (marionette-eval '(catch 'system-error + (lambda () + (mkdir (in-vicinity #$(%store-prefix) + "whatever")) + 0) + (lambda args + (system-error-errno args))) + marionette)) + + (test-assert "screenshot after" + (marionette-control (string-append "screendump " #$output + "/after-install.ppm") + marionette)) + + (test-end)))) + + (mlet* %store-monad ((profile (profile-derivation + %installation-tarball-manifest)) + (tarball (pack:self-contained-tarball + "guix-binary" profile + #:compressor (lookup-compressor "zstd") + #:profile-name "current-guix" + #:localstatedir? #t))) + (gexp->derivation name (test tarball)))) + +(define debian-12-qcow2 + ;; Image taken from . + ;; XXX: Those images are periodically removed from debian.org. + (origin + (uri + "https://cloud.debian.org/images/cloud/bookworm/20250210-2019/debian-12-nocloud-amd64-20250210-2019.qcow2") + (method url-fetch) + (sha256 + (base32 + "06vlcq2dzgczlyp9lfkkdf3dgvfjp22lh5xz0mnl0bdgzq61sykb")))) + +(define %test-debian-install + (system-test + (name "debian-install") + (description + "Test installation of Guix on Debian using the @file{guix-install.sh} +script.") + (value (run-foreign-install-test debian-12-qcow2 name)))) -- 2.48.1 From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH 4/4] tests: Test installation on Debian. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 24 Feb 2025 12:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Rodion Goritskov Cc: 76488@debbugs.gnu.org Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174040178417148 (code B ref 76488); Mon, 24 Feb 2025 12:57:02 +0000 Received: (at 76488) by debbugs.gnu.org; 24 Feb 2025 12:56:24 +0000 Received: from localhost ([127.0.0.1]:38894 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmY0W-0004SV-DX for submit@debbugs.gnu.org; Mon, 24 Feb 2025 07:56:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38782) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmY0T-0004SH-W5 for 76488@debbugs.gnu.org; Mon, 24 Feb 2025 07:56:22 -0500 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 1tmY0O-0001oI-FK; Mon, 24 Feb 2025 07:56:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=qR5ll/8zDQ052eXb3EA2ixDj71Zv/znZbqIc2AzUE9A=; b=az47404gFwREbzBRpDkC 9r1fIBSWvjMXDRKiqSSLuJrNTHWIf20hdyODll23+6q1xUil8qgZtgw8X1HL+q0Co+a4neArMQT/t bu84Y3xhPOvcMVmxJqQ7RSdGB+O88XdJX9ESbkpQlxrEhU05NG5B7iMYm35hEN0Vw3CejUqNXzWzK /u9Pf65RaSAGCJC+JUPpc6zp7EZT/FI3AF70YVDBNPLfUpgSWR5dzlpGx1A+xRkwMQX3F7ksiBX2y DbaNrAwhrWeVOapgUHHXu6ZYSYjbmurTUOtR2YyZ7TL+a+YMzg66VYZBzy9VNwJdmzrwMXcHqSEE6 OkCzdjzU5DkXfw==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: <87v7t0uxrr.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Sun, 23 Feb 2025 23:00:40 +0100") References: <878qpwmk5x.fsf@goritskov.com> <87v7t0uxrr.fsf@gnu.org> Date: Mon, 24 Feb 2025 13:56:13 +0100 Message-ID: <87h64jtsb6.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Just sent v2 of this patch series. From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH v2 0/4] Test installation on Debian Resent-From: Rodion Goritskov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 25 Feb 2025 23:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 76488@debbugs.gnu.org Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.174052687418504 (code B ref 76488); Tue, 25 Feb 2025 23:42:01 +0000 Received: (at 76488) by debbugs.gnu.org; 25 Feb 2025 23:41:14 +0000 Received: from localhost ([127.0.0.1]:49112 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tn4Y6-0004oN-1J for submit@debbugs.gnu.org; Tue, 25 Feb 2025 18:41:14 -0500 Received: from mail.goritskov.com ([65.108.121.176]:45318) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tn4Y2-0004oC-Bx for 76488@debbugs.gnu.org; Tue, 25 Feb 2025 18:41:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=goritskov.com; s=04012025; t=1740526678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1nktqWSM222NSqyD8GTaApLus5j2SLJEuKbA1nJAda0=; b=kYxVUmnwB4hzpEBqZBjpo7XVjj7aLjpqq2+GQkS5910/7I24lemhTFizfR1Y8/zYCIAI3u NT+pX7CgIm8Ffxx6aq/lbexRLZtLC8krpBKV33P61d+KRafejLUpDRYmZtzGeLGm5KxS1F SpJ93kRMO39POhtHZnptYZ8mLZRA51U= Received: from bumblebee-old (port-92-196-15-22.dynamic.as20676.net [92.196.15.22]) by mail.goritskov.com (OpenSMTPD) with ESMTPSA id d15b9629 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 25 Feb 2025 23:37:58 +0000 (UTC) From: Rodion Goritskov In-Reply-To: ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Mon, 24 Feb 2025 13:45:47 +0100") References: Date: Wed, 26 Feb 2025 00:41:07 +0100 Message-ID: <8734g18uek.fsf@goritskov.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi! Change set v2 looks good to me - applies, test runs and passes fine (with patch 76485 applied). Test cases look sufficient too. Thanks! From unknown Sun Jun 22 11:49:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76488] [PATCH v2 0/4] Test installation on Debian Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 28 Feb 2025 10:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76488 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Rodion Goritskov Cc: 76488@debbugs.gnu.org Received: via spool by 76488-submit@debbugs.gnu.org id=B76488.17407372255758 (code B ref 76488); Fri, 28 Feb 2025 10:08:01 +0000 Received: (at 76488) by debbugs.gnu.org; 28 Feb 2025 10:07:05 +0000 Received: from localhost ([127.0.0.1]:45389 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnxGr-0001Uo-7Y for submit@debbugs.gnu.org; Fri, 28 Feb 2025 05:07:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33846) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnxGo-0001Tn-Di for 76488@debbugs.gnu.org; Fri, 28 Feb 2025 05:07:03 -0500 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 1tnxGi-0000UR-Oh; Fri, 28 Feb 2025 05:06:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=eQZk+pAYwYmFcVvaFpPHAqw86mxj43QPHlDLAEHu4e0=; b=KcW5YJSO39DvBXE0X+bE KGBEbvaOuvlD9gYeOgmOVxbSbK7FYLbadEdXrJHcNnktrW88ER2wv7/mSOoar05cTiOaVO/YDU8mv KXc++mEWZmNKTrpHbO5k1yts4pEXv0kVzwKfQGJLPAJSR0Q1EYiS1hnDhVTVwp7aol/1iQ2fDXakK u+6fLcnmY8YOQ5B80+RebahvQPA6WO0ctfu/f6CxZ8sjKefxHw8/uAGzARuPifvCddy0QSNlf/KNG jQt04fLtXNJdSHwFm99+mmcLGqzWTAUcEa8uxgnDRBjZkehq38kmbeXIvlvPZcm7LnknU61/yliSG 9I3pRLAu70jswg==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: <8734g18uek.fsf@goritskov.com> (Rodion Goritskov's message of "Wed, 26 Feb 2025 00:41:07 +0100") References: <8734g18uek.fsf@goritskov.com> Date: Fri, 28 Feb 2025 11:06:40 +0100 Message-ID: <87plj2tmbz.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Rodion, Rodion Goritskov skribis: > Change set v2 looks good to me - applies, test runs and passes fine (with= patch > 76485 applied). > > Test cases look sufficient too. Great, thanks for testing! I=E2=80=99m now waiting for to settle. In the meantime, I sent a followup to this patch series: . Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 28 05:07:31 2025 Received: (at control) by debbugs.gnu.org; 28 Feb 2025 10:07:31 +0000 Received: from localhost ([127.0.0.1]:45394 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnxHG-0001Wx-Nd for submit@debbugs.gnu.org; Fri, 28 Feb 2025 05:07:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53268) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnxHE-0001WN-F7 for control@debbugs.gnu.org; Fri, 28 Feb 2025 05:07:28 -0500 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 1tnxH6-0000bj-EN for control@debbugs.gnu.org; Fri, 28 Feb 2025 05:07:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:Subject:From:To:Date:in-reply-to: references; bh=gk4nVFppcMOFqHbVyyhlf0k/BH/+EaLhJ5zqP7d+xZI=; b=fMzUJdtcE1M5ls zaVnX0HbbPLPLUdEoOLIhzPAKHBjdeIUFCh+KK+xmFHp2osFZvtYIL35QhvsJEDyLX5zVo4kJ6Ky/ ditsExXU3eH71msgB/ASm7sPn6XZeAwyZalVMAHHa3pJ8h7RThKovEgfikiWcgk5C5wYzO+zVX6cG 0BFPglkqwTNhSUz3ut7Kq0APpjUvRrASjftNk//Si1naW6LaKhSNcVIfK0jwGDK03sSrlFJDGzJlC w8HENUA71GIYYQuuF7A3OXwIXVRgVbUt6T8GcPYqvsy27HROe3S8IIb1gJVjH7DfMhxLv57C6Pfca 6jIhnOwNGTIaMSj+zKoA==; Date: Fri, 28 Feb 2025 11:07:13 +0100 Message-Id: <87o6ymtmb2.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #76636 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) block 76636 by 76488 quit From unknown Sun Jun 22 11:49:37 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#76488: closed (Re: [bug#76488] [PATCH v2 0/4] Test installation on Debian) Message-ID: References: <87plivxoba.fsf@gnu.org> X-Gnu-PR-Message: they-closed 76488 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 76488@debbugs.gnu.org Date: Wed, 05 Mar 2025 19:37:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1741203422-7055-1" This is a multi-part message in MIME format... ------------=_1741203422-7055-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #76488: [PATCH 0/4] Test installation on Debian which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 76488@debbugs.gnu.org. --=20 76488: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D76488 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1741203422-7055-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 76488-done) by debbugs.gnu.org; 5 Mar 2025 19:36:21 +0000 Received: from localhost ([127.0.0.1]:39967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tpuXU-0001oe-KB for submit@debbugs.gnu.org; Wed, 05 Mar 2025 14:36:20 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:57942) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tpuXS-0001oD-TK for 76488-done@debbugs.gnu.org; Wed, 05 Mar 2025 14:36:19 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 132E0369; Wed, 5 Mar 2025 20:36:12 +0100 (CET) Authentication-Results: hera.aquilenet.fr; none X-Virus-Scanned: Debian amavis at hera.aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavis, port 10024) with ESMTP id qb0szexFcjUg; Wed, 5 Mar 2025 20:36:11 +0100 (CET) Received: from ribbon (91-160-117-201.subs.proxad.net [91.160.117.201]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 3FB9E2C9; Wed, 5 Mar 2025 20:36:10 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Rodion Goritskov Subject: Re: [bug#76488] [PATCH v2 0/4] Test installation on Debian In-Reply-To: <87plj2tmbz.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Fri, 28 Feb 2025 11:06:40 +0100") References: <8734g18uek.fsf@goritskov.com> <87plj2tmbz.fsf@gnu.org> Date: Wed, 05 Mar 2025 20:36:09 +0100 Message-ID: <87plivxoba.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: hera X-Rspamd-Queue-Id: 132E0369 X-Spamd-Result: default: False [4.90 / 15.00]; SPAM_FLAG(5.00)[]; BAYES_HAM(-3.00)[99.99%]; NEURAL_SPAM(3.00)[1.000]; MIME_GOOD(-0.10)[text/plain]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCPT_COUNT_TWO(0.00)[2]; ARC_NA(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Spamd-Bar: ++++ X-Rspamd-Action: no action X-Spam-Level: **** X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 76488-done Cc: 76488-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hi, Ludovic Court=C3=A8s skribis: > I=E2=80=99m now waiting for to settle. Pushed as f57a660fc6c97d8324c7f36b84bec5234720fbb5. Ludo=E2=80=99. ------------=_1741203422-7055-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 22 Feb 2025 17:08:48 +0000 Received: from localhost ([127.0.0.1]:57024 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tlszf-00023A-RE for submit@debbugs.gnu.org; Sat, 22 Feb 2025 12:08:48 -0500 Received: from lists.gnu.org ([2001:470:142::17]:40886) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tlszc-00022o-Hy for submit@debbugs.gnu.org; Sat, 22 Feb 2025 12:08:45 -0500 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 1tlszW-0002tP-Dk for guix-patches@gnu.org; Sat, 22 Feb 2025 12:08:39 -0500 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 1tlszV-000427-9p; Sat, 22 Feb 2025 12:08:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=A1JzaUGx7QC10ppmww+dL/M0fSpOW44nT9JAVHs2B0s=; b=CX42I1Dm4Nl1Ey Bcbzlm6F2NYGK1tbs6T7KCGoXNDWndF50icbvc8Gg3RFIBi5lmN6RJ6j/4oxCi6JoPp8Zy+hpT8VG tZLZtW2z34hcAtjP72GjqITqq3KqGPP0YN/1KvLp8tvD/eU149MQFo/X9JFW/NAXsFcek+7xmn/CU KeXjAWrNDk0rdlSln0M8oKbAIJUgI72a+6oxlP0VNe2M4Gs55Qia+nuhvsCMYCgTpG9gxysgC3RCc OGlK1SIqkazacP3Ndk2z2l1KT1dWl9Wpiw7d+DmIjeW8KxOqQn2GSucqcf0ehp4rXuiqxHFvecjCq Y+3hcv/bEYXB04kA2Owg==; From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH 0/4] Test installation on Debian Date: Sat, 22 Feb 2025 18:08:29 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello Guix! This series adds an automated test of ‘guix-install.sh’ on Debian, which checks that “guix build hello” and “guix install hello” work upon completion. This was prompted by the work in and by the upcoming (crossing fingers!) release. It only tests Debian 12 but it should work with any systemd-based distro that provides QCOW2 images. Thoughts? Ludo’. Ludovic Courtès (4): tests: Export ‘marionette-program’. vm: ‘common-qemu-options’ splits command-line tokens. vm: Export ‘file-system->mount-tag’ and ‘common-qemu-options’. tests: Test installation on Debian. gnu/local.mk | 1 + gnu/system/vm.scm | 24 +-- gnu/tests.scm | 14 +- gnu/tests/foreign.scm | 337 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 364 insertions(+), 12 deletions(-) create mode 100644 gnu/tests/foreign.scm base-commit: 256e623843a70b001801dcddd7acb4138e6216b4 -- 2.48.1 ------------=_1741203422-7055-1--