From unknown Mon Jun 23 04:11:22 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#18747 <18747@debbugs.gnu.org> To: bug#18747 <18747@debbugs.gnu.org> Subject: Status: "preferLocalBuild" fails to distinguish between offload and substitute Reply-To: bug#18747 <18747@debbugs.gnu.org> Date: Mon, 23 Jun 2025 11:11:22 +0000 retitle 18747 "preferLocalBuild" fails to distinguish between offload and s= ubstitute reassign 18747 guix submitter 18747 ludo@gnu.org (Ludovic Court=C3=A8s) severity 18747 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 16 11:26:14 2014 Received: (at submit) by debbugs.gnu.org; 16 Oct 2014 15:26:14 +0000 Received: from localhost ([127.0.0.1]:46103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XemwP-0001Ge-R4 for submit@debbugs.gnu.org; Thu, 16 Oct 2014 11:26:14 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48442) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XemwN-0001GU-Oy for submit@debbugs.gnu.org; Thu, 16 Oct 2014 11:26:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XemwJ-00006O-3t for submit@debbugs.gnu.org; Thu, 16 Oct 2014 11:26:11 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:54170) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XemwJ-00006K-0j for submit@debbugs.gnu.org; Thu, 16 Oct 2014 11:26:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50097) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XemwC-0005a2-0E for bug-guix@gnu.org; Thu, 16 Oct 2014 11:26:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xemw7-0008Vl-KB for bug-guix@gnu.org; Thu, 16 Oct 2014 11:25:59 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:33399) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xemw7-0008Vc-Cs for bug-guix@gnu.org; Thu, 16 Oct 2014 11:25:55 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 99B0B3DB2 for ; Thu, 16 Oct 2014 17:25:54 +0200 (CEST) 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 O0HfUZHYaKRk for ; Thu, 16 Oct 2014 17:25:54 +0200 (CEST) Received: from pluto (pluto.bordeaux.inria.fr [193.50.110.57]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 62678EFE for ; Thu, 16 Oct 2014 17:25:54 +0200 (CEST) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: bug-guix@gnu.org Subject: Fixed-output derivations are not substituted X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 =?utf-8?Q?Vend=C3=A9miaire?= an 223 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Thu, 16 Oct 2014 17:26:03 +0200 Message-ID: <87h9z4594k.fsf@gnu.org> User-Agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) With current =E2=80=98master=E2=80=99, fixed-output derivations are not sub= stituted, even though a substitute is available: --8<---------------cut here---------------start------------->8--- $ guix build -S acct The following file will be downloaded: /gnu/store/0sszdqmiqmb4mzbgs8h2185fh7p8bfd2-acct-6.6.1.tar.gz @ build-started /gnu/store/b7c2lgbdnr5anzklxkzhjvqxl14n7cqp-acct-6.6.1.tar.= gz.drv - x86_64-linux /var/log/guix/drvs/b7//c2lgbdnr5anzklxkzhjvqxl14n7cqp= -acct-6.6.1.tar.gz.drv.bz2 starting download of `/gnu/store/0sszdqmiqmb4mzbgs8h2185fh7p8bfd2-acct-6.6.= 1.tar.gz' from `http://ftpmirror.gnu.org/acct/acct-6.6.1.tar.gz'... following redirection to `http://gnu.cardse.net/acct/acct-6.6.1.tar.gz'... http://gnu.cardse.net/.../acct-6.6.1.tar.gz 100.0% of 2802.4 KiB @ build-succeeded /gnu/store/b7c2lgbdnr5anzklxkzhjvqxl14n7cqp-acct-6.6.1.ta= r.gz.drv - /gnu/store/0sszdqmiqmb4mzbgs8h2185fh7p8bfd2-acct-6.6.1.tar.gz $ sudo cat /var/guix/substitute-binary/cache/0sszdqmiqmb4mzbgs8h2185fh7p8bf= d2 (narinfo (version 1) (cache-uri "http://hydra.gnu.org") (date 1413472751) (= value "StorePath:... $ guix build -S libwebsockets The following file will be downloaded: /gnu/store/1k4c1a6nckhm2hjpprvdrlkxx6yifclw-libwebsockets-1.3 @ build-started /gnu/store/8x0jgw0819l7aqi1k1f6i772skmwq1zq-libwebsockets-1= .3.drv - x86_64-linux /var/log/guix/drvs/8x//0jgw0819l7aqi1k1f6i772skmwq1zq= -libwebsockets-1.3.drv.bz2 Cloning into '/gnu/store/1k4c1a6nckhm2hjpprvdrlkxx6yifclw-libwebsockets-1.3= '... C-c C-c $ sudo cat /var/guix/substitute-binary/cache/1k4c1a6nckhm2hjpprvdrlkxx6yifc= lw (narinfo (version 1) (cache-uri "http://hydra.gnu.org") (date 1413466633) (= value "StorePath:... --8<---------------cut here---------------end--------------->8--- Here, =E2=80=9CThe following file will be downloaded=E2=80=9D means that a = substitute is found and will be used, as seen also in the cache. But then we find ourselves performing the derivation locally regardless. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 16 11:43:19 2014 Received: (at 18747) by debbugs.gnu.org; 16 Oct 2014 15:43:19 +0000 Received: from localhost ([127.0.0.1]:46125 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XenCx-0001jG-6k for submit@debbugs.gnu.org; Thu, 16 Oct 2014 11:43:19 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:53932) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XenCv-0001j6-4y for 18747@debbugs.gnu.org; Thu, 16 Oct 2014 11:43:17 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id B2B123DB2 for <18747@debbugs.gnu.org>; Thu, 16 Oct 2014 17:43:15 +0200 (CEST) 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 vTjEPygolhD2 for <18747@debbugs.gnu.org>; Thu, 16 Oct 2014 17:43:15 +0200 (CEST) Received: from pluto (pluto.bordeaux.inria.fr [193.50.110.57]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 7DB49EFE for <18747@debbugs.gnu.org>; Thu, 16 Oct 2014 17:43:15 +0200 (CEST) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: 18747@debbugs.gnu.org Subject: Re: bug#18747: Fixed-output derivations are not substituted References: <87h9z4594k.fsf@gnu.org> Date: Thu, 16 Oct 2014 17:43:23 +0200 In-Reply-To: <87h9z4594k.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 16 Oct 2014 17:26:03 +0200") Message-ID: <874mv458bo.fsf@gnu.org> User-Agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 18747 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) I just realized that this is fixed by just removing #:local-build? #t from (guix download). Initially #:local-build? (aka. =E2=80=98preferLocalBuild=E2=80=99) meant = =E2=80=9Cavoid offloading this derivation=E2=80=9D, but Nix commit 55586527 (June 2013) ch= anged it to =E2=80=9Cavoid offloading *or substituting* this derivation=E2=80=9D,= which I somehow overlooked for all this time. I think we to distinguish between whether to offload and whether to substitute. Typically, we don=E2=80=99t want to offload downloads, because that=E2=80=99s inefficient. However, we may want to substitute downloads, because then if the upstream download URL has become invalid, we can still get the substitute from hydra.gnu.org. Until then, I think I=E2=80=99ll just comment out #:local-build? #t in (guix download) and friends. Thoughts? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 16 11:44:50 2014 Received: (at request) by debbugs.gnu.org; 16 Oct 2014 15:44:50 +0000 Received: from localhost ([127.0.0.1]:46129 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XenEP-0001ln-Rf for submit@debbugs.gnu.org; Thu, 16 Oct 2014 11:44:50 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:53935) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XenEN-0001lf-FX for request@debbugs.gnu.org; Thu, 16 Oct 2014 11:44:47 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id EC43C3DB2 for ; Thu, 16 Oct 2014 17:44:46 +0200 (CEST) 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 GL4ZYfzrADyv for ; Thu, 16 Oct 2014 17:44:46 +0200 (CEST) Received: from pluto (pluto.bordeaux.inria.fr [193.50.110.57]) by hera.aquilenet.fr (Postfix) with ESMTPSA id B1F9EEFE for ; Thu, 16 Oct 2014 17:44:46 +0200 (CEST) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: request@debbugs.gnu.org X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 =?utf-8?Q?Vend=C3=A9miaire?= an 223 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Thu, 16 Oct 2014 17:44:54 +0200 Message-ID: <87zjcw3top.fsf@gnu.org> User-Agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 2.9 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: retitle 18747 "preferLocalBuild" fails to distinguish between offload and substitute thanks [...] Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 1.8 MISSING_SUBJECT Missing Subject: header 0.2 NO_SUBJECT Extra score for no subject X-Debbugs-Envelope-To: request X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.9 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: retitle 18747 "preferLocalBuild" fails to distinguish between offload and substitute thanks [...] Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 1.8 MISSING_SUBJECT Missing Subject: header 0.2 NO_SUBJECT Extra score for no subject retitle 18747 "preferLocalBuild" fails to distinguish between offload and substitute thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 16 11:46:12 2014 Received: (at 18747) by debbugs.gnu.org; 16 Oct 2014 15:46:12 +0000 Received: from localhost ([127.0.0.1]:46133 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XenFj-0001p9-GX for submit@debbugs.gnu.org; Thu, 16 Oct 2014 11:46:12 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:53944) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XenFh-0001p0-IH for 18747@debbugs.gnu.org; Thu, 16 Oct 2014 11:46:09 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 03A943DB7 for <18747@debbugs.gnu.org>; Thu, 16 Oct 2014 17:46:09 +0200 (CEST) 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 YBAh+irhefSM for <18747@debbugs.gnu.org>; Thu, 16 Oct 2014 17:46:08 +0200 (CEST) Received: from pluto (pluto.bordeaux.inria.fr [193.50.110.57]) by hera.aquilenet.fr (Postfix) with ESMTPSA id D1207EFE for <18747@debbugs.gnu.org>; Thu, 16 Oct 2014 17:46:08 +0200 (CEST) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: 18747@debbugs.gnu.org Subject: Re: bug#18747: Fixed-output derivations are not substituted References: <87h9z4594k.fsf@gnu.org> <874mv458bo.fsf@gnu.org> Date: Thu, 16 Oct 2014 17:46:18 +0200 In-Reply-To: <874mv458bo.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 16 Oct 2014 17:43:23 +0200") Message-ID: <87lhog3tmd.fsf@gnu.org> User-Agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 18747 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > Initially #:local-build? (aka. =E2=80=98preferLocalBuild=E2=80=99) meant = =E2=80=9Cavoid > offloading this derivation=E2=80=9D, but Nix commit 55586527 (June 2013) = changed > it to =E2=80=9Cavoid offloading *or substituting* this derivation=E2=80= =9D, which I > somehow overlooked for all this time. The relevant code is in libstore/build.cc: --8<---------------cut here---------------start------------->8--- /* We are first going to try to create the invalid output paths through substitutes. If that doesn't work, we'll build them. */ if (settings.useSubstitutes && !willBuildLocally(drv)) foreach (PathSet::iterator, i, invalidOutputs) addWaitee(worker.makeSubstitutionGoal(*i, buildMode =3D=3D bmRe= pair)); --8<---------------cut here---------------end--------------->8--- Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 01 11:22:23 2015 Received: (at 18747) by debbugs.gnu.org; 1 Jul 2015 15:22:23 +0000 Received: from localhost ([127.0.0.1]:36178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZAJqA-0000h3-MF for submit@debbugs.gnu.org; Wed, 01 Jul 2015 11:22:23 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50338) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZAJq8-0000gl-6X for 18747@debbugs.gnu.org; Wed, 01 Jul 2015 11:22:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZAJpy-00042C-IJ for 18747@debbugs.gnu.org; Wed, 01 Jul 2015 11:22:14 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_05,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46023) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAJpn-0003yq-5o; Wed, 01 Jul 2015 11:21:59 -0400 Received: from nocat-out.u-bordeaux.fr ([147.210.179.68]:42663 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1ZAJpm-0004Vw-9V; Wed, 01 Jul 2015 11:21:58 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: 18747@debbugs.gnu.org, Eelco Dolstra Subject: [PATCH] Distinguish between =?utf-8?Q?=E2=80=9Coffloadability?= =?utf-8?Q?=E2=80=9D?= and =?utf-8?Q?=E2=80=9Csubstitutability=E2=80=9D?= References: <87h9z4594k.fsf@gnu.org> <874mv458bo.fsf@gnu.org> <87lhog3tmd.fsf@gnu.org> Date: Wed, 01 Jul 2015 17:21:51 +0200 In-Reply-To: <87lhog3tmd.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 16 Oct 2014 17:46:18 +0200") Message-ID: <87d20boqcw.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.6 (-----) X-Debbugs-Envelope-To: 18747 Cc: nix-dev@lists.science.uu.nl X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.6 (-----) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi again, Nix commit 55586527 (June 2013) changed the semantics of =E2=80=98preferLocalBuild=E2=80=99 from =E2=80=9Cavoid offloading this deri= vation=E2=80=9D to =E2=80=9Cavoid offloading *or substituting* this derivation=E2=80=9D (see .) This patch introduces a new special key, =E2=80=98substitution=E2=80=99, to= specify whether a derivation should be substituted. =E2=80=98preferLocalBuild=E2= =80=99 is kept, but its initial semantics is restored. As a consequence, existing uses of =E2=80=98preferLocalBuild=E2=80=99 must = be audited to check what exactly is intended. WDYT? Thanks, Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/nix/libstore/misc.cc b/nix/libstore/misc.cc index 6ecf878..bdb7a6d 100644 --- a/nix/libstore/misc.cc +++ b/nix/libstore/misc.cc @@ -67,6 +67,15 @@ Path findOutput(const Derivation & drv, string id) } +/* Return true if we are allowed to substitute DRV. This is the case, unless + DRV specifies 'substitution = "0"' in its environment. */ +static bool substitutionAllowed(const Derivation & drv) +{ + auto env = drv.env; + auto i = env.find("substitution"); + return i == env.end() || i->second != "0"; +} + void queryMissing(StoreAPI & store, const PathSet & targets, PathSet & willBuild, PathSet & willSubstitute, PathSet & unknown, unsigned long long & downloadSize, unsigned long long & narSize) @@ -120,7 +129,7 @@ void queryMissing(StoreAPI & store, const PathSet & targets, if (invalid.empty()) continue; todoDrv.insert(*i); - if (settings.useSubstitutes && !willBuildLocally(drv)) + if (settings.useSubstitutes && substitutionAllowed(drv)) query.insert(invalid.begin(), invalid.end()); } @@ -144,7 +153,7 @@ void queryMissing(StoreAPI & store, const PathSet & targets, PathSet outputs; bool mustBuild = false; - if (settings.useSubstitutes && !willBuildLocally(drv)) { + if (settings.useSubstitutes && substitutionAllowed(drv)) { foreach (DerivationOutputs::iterator, j, drv.outputs) { if (!wantOutput(j->first, i2.second)) continue; if (!store.isValidPath(j->second.path)) { --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 01 11:30:13 2015 Received: (at 18747) by debbugs.gnu.org; 1 Jul 2015 15:30:14 +0000 Received: from localhost ([127.0.0.1]:36207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZAJxk-0000u7-HO for submit@debbugs.gnu.org; Wed, 01 Jul 2015 11:30:13 -0400 Received: from mail-wg0-f45.google.com ([74.125.82.45]:36045) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZAJun-0000oz-64 for 18747@debbugs.gnu.org; Wed, 01 Jul 2015 11:27:10 -0400 Received: by wguu7 with SMTP id u7so40002016wgu.3 for <18747@debbugs.gnu.org>; Wed, 01 Jul 2015 08:27:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=ii7ftUHgyefcfn7VAflTx6YjM14IL25aeWEAVZE5LT0=; b=iVca8mnx1dA76WZz/REBkNSJdE9Yx/1hE4dS/+ViEAYXkW1mFATTqzIrVMmzYC5eCf cTtybkFH/+khGKedHmIXxMARrsunnEYt+s/y5UFM6a1hKAn++GtNQRfuTP3QsFGLWkob Zul1z37QXpq1zVIjo9BdjySXolqq1cShz9KFZ5h1hkJy6TBFaZAWy3d7yLRYy5EZ705H 8BZGf0tDD640jpXrCUmsKGQzTlfkr8QmdEozOmQLIYFZ0ZxnTQQ/WxqnUy6gSp8mSjAT 7cA7e5ooj071n5Q9KD4xCoFmdVPXC0SWL1Ajwug1sXIh/MkuOMaisD6s9n5lLf8SaDck /QnQ== X-Gm-Message-State: ALoCoQnWav4GsSTqtbFjuU05ceDA/BjdVjtw5QcTMdKTy/VZb9hpuTHOKcuo2hLJUTtJgdv1jaLH X-Received: by 10.180.91.107 with SMTP id cd11mr6973676wib.51.1435764423531; Wed, 01 Jul 2015 08:27:03 -0700 (PDT) Received: from [192.168.178.12] (53577C27.cm-6-8b.dynamic.ziggo.nl. [83.87.124.39]) by mx.google.com with ESMTPSA id lj14sm3948839wic.18.2015.07.01.08.27.02 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jul 2015 08:27:02 -0700 (PDT) Message-ID: <559406C6.7040209@logicblox.com> Date: Wed, 01 Jul 2015 17:27:02 +0200 From: Eelco Dolstra User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: =?UTF-8?B?THVkb3ZpYyBDb3VydMOocw==?= , 18747@debbugs.gnu.org Subject: Re: [PATCH] Distinguish between =?UTF-8?B?4oCcb2ZmbG9hZGFiaWxpdHk=?= =?UTF-8?B?4oCdIGFuZCDigJxzdWJzdGl0dXRhYmlsaXR54oCd?= References: <87h9z4594k.fsf@gnu.org> <874mv458bo.fsf@gnu.org> <87lhog3tmd.fsf@gnu.org> <87d20boqcw.fsf_-_@gnu.org> In-Reply-To: <87d20boqcw.fsf_-_@gnu.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 18747 X-Mailman-Approved-At: Wed, 01 Jul 2015 11:30:06 -0400 Cc: nix-dev@lists.science.uu.nl X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hi, On 01/07/15 17:21, Ludovic Courtès wrote: > Nix commit 55586527 (June 2013) changed the semantics of > ‘preferLocalBuild’ from “avoid offloading this derivation” to “avoid > offloading *or substituting* this derivation” (see > .) > > This patch introduces a new special key, ‘substitution’, to specify > whether a derivation should be substituted. ‘preferLocalBuild’ is kept, > but its initial semantics is restored. Have you seen https://github.com/NixOS/nix/commit/b64988bb3585478676585a0f0aecbcf4e11d4432, which essentially does the same thing? -- Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/ From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 01 17:15:00 2015 Received: (at 18747) by debbugs.gnu.org; 1 Jul 2015 21:15:00 +0000 Received: from localhost ([127.0.0.1]:36461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZAPLP-0007Vh-Vu for submit@debbugs.gnu.org; Wed, 01 Jul 2015 17:15:00 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55461) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZAPLO-0007VU-Dj for 18747@debbugs.gnu.org; Wed, 01 Jul 2015 17:14:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZAPLI-0008VN-DD for 18747@debbugs.gnu.org; Wed, 01 Jul 2015 17:14:53 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=5.0 tests=ALL_TRUSTED,BAYES_00, RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([208.118.235.10]:51857) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAPLE-0008SC-MY; Wed, 01 Jul 2015 17:14:48 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:37198 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1ZAPLE-00076a-2k; Wed, 01 Jul 2015 17:14:48 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Eelco Dolstra Subject: Re: [PATCH] Distinguish between =?utf-8?Q?=E2=80=9Coffloadability?= =?utf-8?Q?=E2=80=9D?= and =?utf-8?Q?=E2=80=9Csubstitutability=E2=80=9D?= References: <87h9z4594k.fsf@gnu.org> <874mv458bo.fsf@gnu.org> <87lhog3tmd.fsf@gnu.org> <87d20boqcw.fsf_-_@gnu.org> <559406C6.7040209@logicblox.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 13 Messidor an 223 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x3D9AEBB5 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-unknown-linux-gnu Date: Wed, 01 Jul 2015 23:14:43 +0200 In-Reply-To: <559406C6.7040209@logicblox.com> (Eelco Dolstra's message of "Wed, 01 Jul 2015 17:27:02 +0200") Message-ID: <877fqjmvgc.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.10 X-Spam-Score: -5.6 (-----) X-Debbugs-Envelope-To: 18747 Cc: 18747@debbugs.gnu.org, nix-dev@lists.science.uu.nl X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.6 (-----) Eelco Dolstra skribis: > On 01/07/15 17:21, Ludovic Court=C3=A8s wrote: > >> Nix commit 55586527 (June 2013) changed the semantics of >> =E2=80=98preferLocalBuild=E2=80=99 from =E2=80=9Cavoid offloading this d= erivation=E2=80=9D to =E2=80=9Cavoid >> offloading *or substituting* this derivation=E2=80=9D (see >> .) >>=20 >> This patch introduces a new special key, =E2=80=98substitution=E2=80=99,= to specify >> whether a derivation should be substituted. =E2=80=98preferLocalBuild= =E2=80=99 is kept, >> but its initial semantics is restored. > > Have you seen > https://github.com/NixOS/nix/commit/b64988bb3585478676585a0f0aecbcf4e11d4= 432, > which essentially does the same thing? I hadn=E2=80=99t, but that=E2=80=99s perfect=E2=80=93we=E2=80=99re on the s= ame page. ;-) Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 02 18:33:28 2015 Received: (at 18747-done) by debbugs.gnu.org; 2 Jul 2015 22:33:28 +0000 Received: from localhost ([127.0.0.1]:38001 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZAn2u-0007oX-Dw for submit@debbugs.gnu.org; Thu, 02 Jul 2015 18:33:28 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47512) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZAn2r-0007oK-Gb for 18747-done@debbugs.gnu.org; Thu, 02 Jul 2015 18:33:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZAn2j-00014t-94 for 18747-done@debbugs.gnu.org; Thu, 02 Jul 2015 18:33:20 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=5.0 tests=ALL_TRUSTED,BAYES_00, RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([208.118.235.10]:45704) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAn2j-00014p-6d for 18747-done@debbugs.gnu.org; Thu, 02 Jul 2015 18:33:17 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:44835 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1ZAn2i-0007Pd-MH for 18747-done@debbugs.gnu.org; Thu, 02 Jul 2015 18:33:17 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: 18747-done@debbugs.gnu.org Subject: Re: bug#18747: Fixed-output derivations are not substituted References: <87h9z4594k.fsf@gnu.org> <874mv458bo.fsf@gnu.org> <87lhog3tmd.fsf@gnu.org> Date: Fri, 03 Jul 2015 00:33:14 +0200 In-Reply-To: <87lhog3tmd.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 16 Oct 2014 17:46:18 +0200") Message-ID: <87bnfuw5p1.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.10 X-Spam-Score: -5.6 (-----) X-Debbugs-Envelope-To: 18747-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.6 (-----) Fixed in 4a6aeb6. Note that there are still a few cases, in guix/*download.scm, where we haven=E2=80=99t yet reintroduced #:local-build? #t. We=E2=80=99ll do that = when daemons with the fix are more widely deployed. Ludo=E2=80=99. From unknown Mon Jun 23 04:11:22 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 31 Jul 2015 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator