From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id yNb7HiPNHGLtCwEAgWs5BA (envelope-from ) for ; Mon, 28 Feb 2022 14:24:51 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id mDrtFyPNHGIWNAEAG6o9tA (envelope-from ) for ; Mon, 28 Feb 2022 14:24:51 +0100 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 233BC4680E for ; Mon, 28 Feb 2022 14:24:51 +0100 (CET) Received: from localhost ([::1]:42452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nOg1B-0001Ca-75 for larch@yhetil.org; Mon, 28 Feb 2022 08:24:49 -0500 Received: from eggs.gnu.org ([209.51.188.92]:60204) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nOg0a-0001AK-Gy for guix-devel@gnu.org; Mon, 28 Feb 2022 08:24:12 -0500 Received: from [2a0c:e300::1] (port=34494 helo=hera.aquilenet.fr) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nOg0Y-00088s-EA for guix-devel@gnu.org; Mon, 28 Feb 2022 08:24:12 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id EABD6746; Mon, 28 Feb 2022 14:24:05 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KPZPqMEYdstv; Mon, 28 Feb 2022 14:24:05 +0100 (CET) Received: from ribbon (91-160-117-201.subs.proxad.net [91.160.117.201]) by hera.aquilenet.fr (Postfix) with ESMTPSA id B61C35E8; Mon, 28 Feb 2022 14:24:04 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Christopher Baines Subject: Re: Expensive builds when computing channel instance derivations References: <87h78tbthh.fsf@cbaines.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 10 =?utf-8?Q?Vent=C3=B4se?= an 230 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 28 Feb 2022 14:24:03 +0100 In-Reply-To: <87h78tbthh.fsf@cbaines.net> (Christopher Baines's message of "Sun, 20 Feb 2022 12:06:40 +0000") Message-ID: <87zgmbcefg.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: / X-Rspamd-Server: hera X-Rspamd-Queue-Id: EABD6746 X-Spamd-Result: default: False [-0.10 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a0c:e300::1 (failed) Received-SPF: softfail client-ip=2a0c:e300::1; envelope-from=ludo@gnu.org; helo=hera.aquilenet.fr X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, RDNS_NONE=0.793, SPF_HELO_PASS=-0.001, SPF_SOFTFAIL=0.665, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1646054691; 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; bh=allKFC8Bo/VrHdgnFWrWo/FkFFM3UHPqfEA6yQsIgRg=; b=Nx2JU0QPbHqnGSBSdTVknqwl+HQOre5e7ofhgU/aQjcafuUqnnsJ1Qf9HBHi7zYHyPfgPf QyfTMoFZdGrXOO8x57DklvebEDW7Wa9KZ6OxxFhlBfjVGVPNVsFkIL47CVFmoYRmoQmmcM BW0FQ8lB0ey/WFMtJwt3JZdk9cBYmTW6T32x2B+CjuAPD9ivEZr7shAU2K0WikR6aaf4AM Zz3o7h93S5FkzuzsMpM7JK1feLqsK211olrHKM8WftGeJA9IagZoSCx4juAgaphRZGk4ol lzO7B9Al3QxcFGRcHxZ/ouxmH7q05P8mvACNbVXI3U1iE0t1smbcc3iO770YyQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1646054691; a=rsa-sha256; cv=none; b=VdPfYnZqgOqNwofw+Q1uhAJ/qSqW9qYVK6KfwzvfkCPUiv2qoe3/mOImdMTFSgI4jdw4h9 1bCWMoggdVGU96Djb+aEwK1l/4TFm88GW7MV2H40VIusyUEiH1asUoS+A/0ZwVrcGQRtEi Z8F8xD0zgv9IhuioLGsiDUyPkulNewm7a7RhF0zESnvlcx+ARvteQoR4FFiO8gCITZ4fVb YA2gfF47kmNA1YtJYUsqVxls83GAtWOATvLqcN+X/XZj1O3Ddxq9C2m8XAJmCUDSCLZ6iX qI/acdSIbN2CLYlmOz9XMWFp0FapGi4Coujj0Lk7xMn53/oXkWe/EYYeKcuoJg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; 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" X-Migadu-Spam-Score: -4.10 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+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 233BC4680E X-Spam-Score: -4.10 X-Migadu-Scanner: scn0.migadu.com X-TUID: PZgB3z73KoqJ Hi, Christopher Baines skribis: > I think I figured out that it's related to grafts. I've attached a test > script which computes the channel instance derivation for mips64el-linux > which I'm not set up to build things for (if you can build for > mips64el-linux, replace this with a system you can't build for). You'll > need to use the attached patch (also present on [2]) when running this > script. > > 2: https://git.cbaines.net/guix/log/?h=3Dchannel-instances-manifest-graft= -control > > When I run this script locally, it first succeeds in computing the > channel instance derivation when grafts are disabled, but then fails > when grafts are enabled: > > while setting up the build environment: a `mips64el-linux' is required > to build > `/gnu/store/g40shyhsd00r5dq3mm76c2b1krnr1njh-guile-bootstrap-2.0.drv', > but I am a `x86_64-linux' > > Even though I think this shows that grafts are involved, I'm not sure > what this means? I'm guessing that the effects of grafts aren't as clear > cut as for packages here, since the grafts are happening here as part of > computing a derivation I'm guessing that the derivation is actually > built with the grafted outputs, which differs from how grafts affect > packages. Given this, I guess computing the derivation without grafts > means that the replacements that would be grafted in are just not used > at all. > > To recap on my aim here, I really just want to be able to compute > channel instance derivations without performing any expensive builds, or > if that's not possible, it would be good to understand why? In general, computing the derivation of a package may incur builds/downloads due to the way grafts work: depending on the *build result* of a package, =E2=80=98package->derivation=E2=80=99 might return a = grafting derivation or it might return the original derivation. The =E2=80=9CComputing Guix derivation=E2=80=9D bit of =E2=80=98guix pull= =E2=80=99 is no exception: it computes the derivation of objects that depend on packages that may need to be grafted. Thus, it ends up triggering builds as part of this process. It would be tempting to turn off grafts in this case. But then, =E2=80=98g= uix pull=E2=80=99 would always give us an ungrafted Guix, which is undesirable.= For the purposes of the Data Service though, you could consider turning off grafts globally. HTH! Ludo=E2=80=99.