From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id +BIEAHS2u1/eIgAA0tVLHw (envelope-from ) for ; Mon, 23 Nov 2020 13:17:40 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id yDVrN3O2u1/yEQAAB5/wlQ (envelope-from ) for ; Mon, 23 Nov 2020 13:17:39 +0000 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 59F269402A0 for ; Mon, 23 Nov 2020 13:17:39 +0000 (UTC) Received: from localhost ([::1]:41780 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khBis-0006xn-2R for larch@yhetil.org; Mon, 23 Nov 2020 08:17:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50184) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khBif-0006wN-V3 for guix-devel@gnu.org; Mon, 23 Nov 2020 08:17:25 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42954) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khBie-0003nw-Tw; Mon, 23 Nov 2020 08:17:24 -0500 Received: from [2a01:e0a:19b:d9a0:f0c7:1dab:64ad:1a4a] (port=57104 helo=cervin) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1khBie-0001e2-EM; Mon, 23 Nov 2020 08:17:24 -0500 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: 01/03: guix: store: Add ensure-path. References: <20201122161938.30063.63195@vcs0.savannah.gnu.org> <20201122161940.6485520981@vcs0.savannah.gnu.org> <87mtz9knjl.fsf@gnu.org> <87tutgwi7h.fsf@gnu.org> <87o8jojoh7.fsf@gnu.org> Date: Mon, 23 Nov 2020 14:17:22 +0100 In-Reply-To: <87o8jojoh7.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 23 Nov 2020 12:34:44 +0100") Message-ID: <87o8jow6u5.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.51 X-TUID: HDe7tQEgFaIK Hey, > So perhaps we should adjust the docstring to reflect that? Sure, done with: d9e57db72479812cfa30ed8e30a6351959f9a2b2. > Yeah, =E2=80=98guix offload=E2=80=99 should not connect to the daemon. I= t does so > currently for one thing (registering GC roots IIRC), which should be > done in Scheme instead. Why shouldn't it connect to the daemon? In the current implementation of the nix daemon, there's the following snippet: --8<---------------cut here---------------start------------->8--- if (!missing.empty()) { Activity act(*logger, lvlTalkative, actUnknown, fmt("copying ou= tputs from '%s'", storeUri)); for (auto & i : missing) store->locksHeld.insert(store->printStorePath(i)); /* FIXME= : ugly */ copyPaths(ref(sshStore), store, missing, NoRepair, NoChe= ckSigs, NoSubstitute); } --8<---------------cut here---------------end--------------->8--- in build-remote.cc. So it looks like it connects to the store, add the outputs to locks held and import them, which is the behaviour I'm trying to replicate. > Specifically it handles =E2=80=9Cnar bundles=E2=80=9D (new name :-)). Bu= t probably you > can extract the relevant bits to import single nars, right? Yup you're right, it should be possible, but I'd rater let the daemon do it if possible. Thanks, Mathieu