From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id INcrN6N7Q2Yc1wAAe85BDQ:P1 (envelope-from ) for ; Tue, 14 May 2024 16:56:36 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id INcrN6N7Q2Yc1wAAe85BDQ (envelope-from ) for ; Tue, 14 May 2024 16:56:36 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=rdklein.fr header.s=zoho header.b=FWToc4Ho; arc=pass ("zohomail.eu:s=zohoarc:i=1"); dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1715698595; 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: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=1WKE9Jen0xfAXsvhzmiGZ3LRML3xP3wL1l4NY4GNGds=; b=M/Xr8aC7pAkmEUbAl6UBPYL3kmqG0kmat5P3g+p1I4zGSuNO3GcGmWViygctIDxcDoQSeo 62/gR+DfrFMhLT66vRJ2eoB2p3Qd/zoj+KrIBD3wxrGrK7gZ4XZkdZkfR7jELjMWJq02i1 6CWHALaIvOXCAAKDpnFBIdza3nqZ0RwL1l2jvH+bX6Z20zCtkhLOUWtfOP7BmBGkmG43ag EZD8OFdKuD5ytDFHASBwCVpwSQclusGEY5JGvXRq7VRTGe7kMsJAwhyoVA4QoPWTNWlr2l rBHeTbaxhNfGViAXDQhSetYo70m1Ra+rwHgWWNPWko7vnUz+qoeNUIFSZpld+g== ARC-Seal: i=2; s=key1; d=yhetil.org; t=1715698595; a=rsa-sha256; cv=pass; b=g3VTBi6+6pbZ74zbber9w+xCK3oJAXIFlyHb4oqmzeAe+eftsuDowuV+uJQLiHfu2NPxbv YfeC5awicxo5HJqrJCi3PTvwrl2rFEVgulHXS25dooqSUH2ZWsMhasr5vFAdkA53A2tlCz x76USVdAC8qcClUeqFp4Fo1cropk5jSgpkXyPX2QIKkJjIUbAW+o11U4lVkolVWjpJ8pYh Cy+wUBoYmfCHJdis4E6MqaY9Penn+GIvs9/xzRYXkabqHENjtXlpxwQt+w0lTgJ3TMASt/ 4F+pU1zmKSLSbiHATMi1RU1m0GZmtStmApJcfbo5sCLvJ9ZSNE6I0/YtFtRUrQ== ARC-Authentication-Results: i=2; aspmx1.migadu.com; dkim=pass header.d=rdklein.fr header.s=zoho header.b=FWToc4Ho; arc=pass ("zohomail.eu:s=zohoarc:i=1"); dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" 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 B0C2A3CA2E for ; Tue, 14 May 2024 16:56:35 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s6tZU-0000a5-72; Tue, 14 May 2024 10:56:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s6tZR-0000X0-Ne for guix-devel@gnu.org; Tue, 14 May 2024 10:56:01 -0400 Received: from sender-op-o11.zoho.eu ([136.143.169.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s6tZK-0007xR-Um; Tue, 14 May 2024 10:56:01 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1715698548; cv=none; d=zohomail.eu; s=zohoarc; b=Jg5LnD9WlCyG765Hx+H9hnsgl3OKC+h8MuYDtvVyMPZB1BLTGmNksqcelS3CIecQhfGA5ik/SBQFvd0hY+SfPSC8EtJFNWy8/yeCQEHNtA4wg+xqwgrE0uIDe7QDpUrNNN3MPuV9gxtv4UfSlwOKa2hZHIxYtDN/Ji0pnTm7KHw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1715698548; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=1WKE9Jen0xfAXsvhzmiGZ3LRML3xP3wL1l4NY4GNGds=; b=CenyeqUw34qT06miYASd8TKcN9T+AyQ9vFtVK6dXGOaPvPUYCYNJa9b0+1+TZwv3xxwceB0d32O1lIJUSzK7BLTsUNww5TPiTMVrKDFRZhm5svViyXp3Yf+xGkNs5cG0RD6bBc9PIC/xGGTYJkbIxaG9NzUM8XtPGhrFK89NuaM= ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass header.i=rdklein.fr; spf=pass smtp.mailfrom=edou@rdklein.fr; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1715698548; s=zoho; d=rdklein.fr; i=edou@rdklein.fr; h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To; bh=1WKE9Jen0xfAXsvhzmiGZ3LRML3xP3wL1l4NY4GNGds=; b=FWToc4Hoa1sH+J32zWXqNj4hOOqqTULNdyKOCA3GMu12i00c/4da58gquL6E6e+y gvNPdCYzqdf65nY2cjAApNuxvyzpnqmA2DBY4dY+yWqgOQzsJJlxi+nQKkZeqPOAelE ZYVbGCpeHRQR34po/JYHItz+Ka0uUdye77DmYUhybfN7S1IUdPyzlQ/JYbWjeIUEtW6 oHuP5tUFvXoHhGoC7jgPdWHQcBUXWqDVZ2w2HHRIs/27xvrBBI+fqZ6efx0ZEqbP2EG jY8QGJIbZn89ToTKG2tMv7utdzh3eZdYlQs/bf8ApX2ck3u0GFQLG1qTaM2rpw0PsLL 0a3fSR98tA== Received: by mx.zoho.eu with SMTPS id 1715698546746540.7733888359305; Tue, 14 May 2024 16:55:46 +0200 (CEST) References: <874jb16993.fsf@rdklein.fr> <87r0e43do0.fsf@gnu.org> User-agent: mu4e 1.10.2; emacs 28.2 From: Edouard Klein To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org Subject: Re: Guix pull: avoiding "Computing Guix derivation" Date: Tue, 14 May 2024 16:48:49 +0200 In-reply-to: <87r0e43do0.fsf@gnu.org> Message-ID: <87r0e44f4s.fsf@rdklein.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ZohoMailClient: External Received-SPF: pass client-ip=136.143.169.11; envelope-from=edou@rdklein.fr; helo=sender-op-o11.zoho.eu X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -5.92 X-Spam-Score: -5.92 X-Migadu-Queue-Id: B0C2A3CA2E X-Migadu-Scanner: mx11.migadu.com X-TUID: JiRCquoHIL13 Hi ! I may be a bit dense, but there's one part I don't understand: Ludovic Court=C3=A8s writes: > Hi, > > Edouard Klein skribis: > >> - Why is this step not substitutable ? The inputs are known, a hash can >> be derived, a substitute server could be queried for an output of that >> hash ? What am I missing ? Does the guix derivation not end up in the >> store ? What makes it so special that it can't be served by a substitute >> server ? > > It=E2=80=99s not substitutable because it=E2=80=99s not a derivation. It= =E2=80=99s not a > derivation because it needs to access the store to =E2=80=9Ccompute the G= uix > derivation=E2=80=9D. > Doesn't it have hashable inputs ? Like the different git hashes of the different channels, plus the hash of whatever guix+guile revision is actual= ly doing the work ? I think my misunderstanding boils down to a bad mental model of how guix works. What I imagine the "Computing guix derivation" step to be is no different than building a package whose inputs are the channels' sources, guile, and the current guix, and whose output is the new guix. Simon and Richard pointed out that the combinatorial combination of all possible input combination makes this hard to substitute, but I don't understand how its result, once in the store, can't lead to a simple linking from the profile to the store, instead of re-running the "Computing guix derivation" step when guix pull is called with the same inputs. Surely my mental model is wrong somehow ? > The latter could be addressed with =E2=80=9Cnested=E2=80=9D or =E2=80=9Cr= ecursive=E2=80=9D derivations > as Nix calls them, but it=E2=80=99s quite a beast. > > Anther option would be to have a built-in derivation builder that would > do that process on behalf of users. That would turn the process into a > derivation, which is thus cachable, substitutable, etc. > >> - Is there a way (even a very dirty one, like hand copying stuff accross >> /var/guix/profiles/per-user/*/current-guix) I can stop paying this 4 >> minutes per user price ? As I said, this is downtime on my server, as >> I need to stop all other services to let guix pull finish. > > I don=E2=80=99t know of any quick hack for that. > > Thanks, > Ludo=E2=80=99.