From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 4HbaLdbO4F9xQAAA0tVLHw (envelope-from ) for ; Mon, 21 Dec 2020 16:35:34 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id aDjWKdbO4F9iLAAA1q6Kng (envelope-from ) for ; Mon, 21 Dec 2020 16:35:34 +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 269F4940667 for ; Mon, 21 Dec 2020 16:35:34 +0000 (UTC) Received: from localhost ([::1]:49458 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1krO9l-0002LT-1f for larch@yhetil.org; Mon, 21 Dec 2020 11:35:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39842) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krO8i-0001sN-AI for help-guix@gnu.org; Mon, 21 Dec 2020 11:34:28 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:44671) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1krO8f-0002OD-FE for help-guix@gnu.org; Mon, 21 Dec 2020 11:34:28 -0500 Received: by mail-wr1-x430.google.com with SMTP id w5so11650605wrm.11 for ; Mon, 21 Dec 2020 08:34:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:in-reply-to:references:date:message-id:mime-version :content-transfer-encoding; bh=OHEAlOfNe4obMLyN9Fcbz4z23r63hUn4dYxED7VywRE=; b=Nv6QJLy3YNMXA9yMvem1bABVIbYZ4fgosC2SwtQZWeX8agUzGoR9szqcLccTU4TfFg P9W6B6XBuoPBFdWksdkGA0mKIWZCaUXVfHWwWfJ4US/Nm6lPzTzOvw7/NRLByX+XDbIa HCe0T+pTdGUoHYOVMWZbJ7i6XcQbEhLmamgGMyeFbytXXdt+dL4zKyjdV11Lrnuxqh1J 5qDxTUd6TDpaCZHKvFJdM8mH7iL6iiNXcs/CMnf7m3hUcMfvX/9sOPC7LWxr+LTpw6RI 2UcRVHOtYd1gtQjrUCxWn/VgvNAmqcdpVZG9hwirr3zbRIXFYmP2tl1ECEmj8SxM2hr2 bHWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=OHEAlOfNe4obMLyN9Fcbz4z23r63hUn4dYxED7VywRE=; b=qvbOImbapJRQKNLG7D5Uy1FJdf3YUxA7VlVWdQr8fQGX6lFq7PD1iiihq80f6y60tk C4wVhOFO2OLCoHjRPbUDDYdbmvdfrtQsjWSGWz6EJLMe5PfX408MuK0qE3L2EP1SkYoJ 2bctWASio7slBPl7aaZqJfPSt8tT+Is0Lbox/SqmfMAqDacuBTGTI15DqNEetfwWk7rC nYtJPJsI817ZMs3tYaItgt0WhDA8JqLEe6Os/AyGQXhBq5Z5By6gptNXmXdM1a431YyQ T3s5pT1fShNwBWLq7QZqmr7AuBoMKhsoKo3JKy+mb2/uCkxTrECJmTtVfC8QLDRoNZ+R q0QA== X-Gm-Message-State: AOAM531fe6nIokXVhiEfNNTASltBmEywI5vmnJubB+S2VBCfmWAeDEe1 dgUmPWDX/oh6zlVAYgNOZUMiQx8GvKo= X-Google-Smtp-Source: ABdhPJzQseaaOCgtiy8893M6y5yTJto/me3vgD1WOnJ32fIFZy8ovDwjSPswGc0LE48xbCMsDbAIDg== X-Received: by 2002:adf:e84c:: with SMTP id d12mr20261075wrn.382.1608568464039; Mon, 21 Dec 2020 08:34:24 -0800 (PST) Received: from lili (oul69-1-82-232-2-3.fbx.proxad.net. [82.232.2.3]) by smtp.gmail.com with ESMTPSA id b4sm26528791wrr.30.2020.12.21.08.34.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Dec 2020 08:34:23 -0800 (PST) From: zimoun To: Pierre Neidhardt , help-guix@gnu.org Subject: Re: Install `guix pull'ed Guix to target partition on system install In-Reply-To: <87eejjmd0l.fsf@ambrevar.xyz> References: <87ft403kol.fsf@ambrevar.xyz> <86zh279xt0.fsf@gmail.com> <874kkfny4m.fsf@ambrevar.xyz> <86tusf9ukk.fsf@gmail.com> <87mty7mggk.fsf@ambrevar.xyz> <86ft3z9sao.fsf@gmail.com> <87eejjmd0l.fsf@ambrevar.xyz> Date: Mon, 21 Dec 2020 17:26:59 +0100 Message-ID: <86a6u79lbg.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=zimon.toutoune@gmail.com; helo=mail-wr1-x430.google.com 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -3.02 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=Nv6QJLy3; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Queue-Id: 269F4940667 X-Spam-Score: -3.02 X-Migadu-Scanner: scn1.migadu.com X-TUID: +MYs65hRzNf5 Hi, On Mon, 21 Dec 2020 at 15:47, Pierre Neidhardt wrote: >> I am not familiar with the installation process. I miss where this >> first =E2=80=9Cguix pull=E2=80=9D writes: >> >> - the cached checkout >> - the store items > > The first "guix pull" write in memory (RAM), so it's all ephemeral. > >> I am expecting that the first =E2=80=9Cpull=E2=80=9C writes both on the = target. > > Nope! :( > >> If not, i.e., it writes on the installation target, yeah it could be >> improved. :-) > > No, the first "guix pull" does not write on the installation target. > But I guess that's what you meant ;) > >> From your initial message, my understanding was the first pull writes: >> >> - the cached checkout in /root/.cache/guix/checkouts >> - the store items in /gnu/store > > Which is in memory. > >> then your second pull writes: >> >> - the cached checkout in /home/user/.cache/guix/checkouts >> - the store items in /gnu/store > > After rebooting, so this /gnu/store is _not the same_ as the one during > installation. Therefore, the missing store items from the RAM store could be transferred to installation target via =E2=80=98guix archive=E2=80=99. But= I am surprised that after rebooting this /gnu/store misses items that you need when you run =E2=80=9Cguix pull=E2=80=9D as root. Well, I am missing something on how all the installation process works=E2= =80=A6 :-) >> Therefore, the repo is cloned twice and derivations are also computed >> twice; but it seems hard to avoid by design. > > Maybe we could fix this by having a "base Guix clone" in the store, and > then when we run Guix pull, it first checks out this store repo, only to > run "git pull" afterwards. This would save a lot of time. What I miss in your problem is: # guix pull # writes in memory (1) # guix system init=20 # reboot=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20 # guix pull # writes in disk (2) $ guix pull # writes in disk (3) (The steps (2) and (3) are not necessary done chronologically.) (1) is slow, (2) should not clone. Is (2) cloning? What you are proposing is to improve (3), right? Instead of cloning from Savannah and so populate ~/.cache/guix/checkouts, you are proposing that between (1) and (3), =C2=ABsomething=C2=BB creates a store item with t= he full clone from Savannah, then (3) copies from this store item to ~/.cache/guix/checkouts if it does not exist, and run =E2=80=9Cgit pull=E2= =80=9D there. But I do not think the =E2=80=9Ccloning=E2=80=9D part is the consuming one = here; even if it obviously depends on the network. And it is does only once in life. ;-) Example with a poor network via my smartphone: --8<---------------cut here---------------start------------->8--- $ time guix pull Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.or= g/git/guix.git'... Building from this channel: guix https://git.savannah.gnu.org/git/guix.git 5ecc0b1 Computing Guix derivation for 'x86_64-linux'... - nothing to be done real 0m56.022s user 1m16.139s sys 0m0.887s $ rm -fr ~/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27sh= j7apsnalwq=20 $ time guix pull Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.or= g/git/guix.git'... Building from this channel: guix https://git.savannah.gnu.org/git/guix.git 5ecc0b1 Computing Guix derivation for 'x86_64-linux'... - nothing to be done hint: After setting `PATH', run `hash guix' to make sure your shell refers = to `/home/simon/.config//guix/current/bin/guix'. real 4m15.202s user 3m8.522s sys 0m5.010s --8<---------------cut here---------------end--------------->8--- All the best, simon