From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id UOUYAuSWyGIwGwAAbAwnHQ (envelope-from ) for ; Fri, 08 Jul 2022 22:43:16 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 4MnvAeSWyGKS6QAA9RJhRA (envelope-from ) for ; Fri, 08 Jul 2022 22:43:16 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 71F6E1A880 for ; Fri, 8 Jul 2022 22:43:15 +0200 (CEST) Received: from localhost ([::1]:42986 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o9uoj-0004IY-N9 for larch@yhetil.org; Fri, 08 Jul 2022 16:43:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48396) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9uoY-0004IP-QZ for bug-guix@gnu.org; Fri, 08 Jul 2022 16:43:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39335) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o9uoY-0005xn-Hg for bug-guix@gnu.org; Fri, 08 Jul 2022 16:43:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o9uoY-0004fk-8Y for bug-guix@gnu.org; Fri, 08 Jul 2022 16:43:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#56441: guix time-machine broken by profiles speed-up Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 08 Jul 2022 20:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ricardo Wurmus Cc: 56441@debbugs.gnu.org Received: via spool by 56441-submit@debbugs.gnu.org id=B56441.165731294417906 (code B ref 56441); Fri, 08 Jul 2022 20:43:02 +0000 Received: (at 56441) by debbugs.gnu.org; 8 Jul 2022 20:42:24 +0000 Received: from localhost ([127.0.0.1]:33232 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o9unv-0004ek-VZ for submit@debbugs.gnu.org; Fri, 08 Jul 2022 16:42:24 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33862) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o9unu-0004eY-8g for 56441@debbugs.gnu.org; Fri, 08 Jul 2022 16:42:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:50470) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9uno-0005um-HA; Fri, 08 Jul 2022 16:42:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=WlARbJyBHZ9FsZDIcTUkgJI0j8Svd0it98cvh8B59W4=; b=LeRa4Hxsr4X+IcrqzPNz SXVEqBGs/yHDaLClXwv0GOgHKBPMXzwVJkuyTcrqERe366Y21FcqdS6AzZFERbLVmfLC274+p3xas NCghZA3CfqSVnlMyLYx8Z2ZGgoc5mP+L9+D0GOv4ZX4GrghLW6v7aIRCUT/1azgcxIc1ibAnE4JB8 IjtXhYUcE7Cgks1326eGh4TlT+yA/jlEOLzJJoF0Ff0PnI7+/coBEYe0FTIPtd+zSA22TLNXEu2G8 8sn8QuQ5guOQY3bqeysdRyRAsu+WELER6E7grde2f2XHUlVn3M7sVCebv3IB4WVwz3sAj6DOueRJi /a+E9vCCsev+OA==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201]:50677 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9uno-0007NA-5R; Fri, 08 Jul 2022 16:42:16 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <867d4oq3gr.fsf@gmail.com> <87fsjbzxo5.fsf@elephly.net> Date: Fri, 08 Jul 2022 22:42:13 +0200 In-Reply-To: <87fsjbzxo5.fsf@elephly.net> (Ricardo Wurmus's message of "Fri, 08 Jul 2022 12:46:47 +0200") Message-ID: <871quvtjyy.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1657312995; h=from:from:sender:sender: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:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=WlARbJyBHZ9FsZDIcTUkgJI0j8Svd0it98cvh8B59W4=; b=SpfiyWNJsS/CiRWIUMsLRl7dx87qsjkdaZ328M9BU049CtGxE3iSApH/G0elbNDEX0b4ml 0E+xk/UbgnTNkxYpZ/PRBi1P7O8nngFbHHnVx9ee8D+1Co96sBgXKvyVAQV0RZvHatRUG7 Kn0tc471e2mcUh7btRJk13IrYPjxGyfVytZRX1HqPCpUz/65teO3ic8KWZIabWD/9GM/pj yILv7SeWaXmPpiDAUFsrE4rlIwZcJbd6AGxCfGf2XCxm6fEQ5v3FxCscBj0D6kbRlX3Okz HAMeIaMRRv7Ez1+FBzL3jDBCvNWRnKTGKzsY3MuXZGhtsKS3yp0fvxnO2zl/9g== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1657312995; a=rsa-sha256; cv=none; b=bS6oW97l/Jgu6KjepjK4xcpKzfndfGEj/aafhfZzFJCNVbqhfI09DOHPIVVwI1YfqIcD1d pd2ElobNcFSCeSxg0DAvlo95HA72sJrCA3V+FSE/uJVJk15hGIzqtCMfzHqBHOT/qAuaNR FMUMQaBpw0lg0evy6Zm3vVH8TcK2/kdcEhjkwUXAFODMPDLGaqpQ8Tw2iPHfk2ebfYkkRK O16Jng1R/mEop0EXN8g0j1Dmnd14BMx1qLAAuXSLBZGKfT5ChsgnIEsWu/14IO2DeBOobu VG5lrw8ZKGyEEZ2rJiPYlgz9mGb4w8h+YXu/OHnb0Li9T7a/pMEeEFUGx7QyuA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=LeRa4Hxs; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -5.25 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=LeRa4Hxs; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 71F6E1A880 X-Spam-Score: -5.25 X-Migadu-Scanner: scn0.migadu.com X-TUID: dTTDjBB6Bsfw Ricardo Wurmus skribis: > Attached is a patch that attempts to build the manifest in an inferior. > This fails because manifest->gexp returns a gexp that we can=E2=80=99t ge= t out > of the inferior to pass to build-profile. Thanks for sharing! This sounded like the =E2=80=9Cright=E2=80=9D approach= , but there=E2=80=99s a part that made me feel uneasy about it: > + (define (manifest-gexp) > + (pk 'man-gexp > + (if inferior-guix > + (let* ((inferior (open-inferior inferior-guix)) > + (result > + ;; TODO: this doesn't work because we can't lift t= he > + ;; gexp out of the inferior. > + (inferior-eval `(begin > + (use-modules (guix profiles) > + (guix derivations)) > + ((@@ (guix profiles) manifest->g= exp) > + (manifest > + (list > + ,@(map (lambda (entry) > + `(manifest-entry > + (name ,(manifest-= entry-name entry)) > + (version ,(manife= st-entry-version entry)) > + (output ,(manifes= t-entry-output entry)) > + (item (read-deriv= ation-from-file > + ,(derivati= on-file-name > + (manifes= t-entry-item entry)))))) > + (manifest-entries mani= fest)))))) Here we have to rely on a larger part of the API: a subset of (guix profiles) and (guix derivations). Conversely, in (guix channels), the only assumption made about the API implemented by the other Guix (which might be older or might be newer) is the =E2=80=98generate-package-cache=E2=80=99 procedure. It=E2=80=99s a = small requirement, so potentially easier to satisfy in future versions for a long time. When dealing with these time travel issues, I feel we have difficult choices to make. It=E2=80=99s a bit of an unusual requirement that we have. Ludo=E2=80=99.