GNU bug report logs - #41602
texlive is actually substitutable

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Severity: important; Reported by: Ludovic Courtès <ludo@HIDDEN>; dated Fri, 29 May 2020 15:17:01 UTC; Maintainer for guix is bug-guix@HIDDEN.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 24 Feb 2025 19:14:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 24 14:14:01 2025
Received: from localhost ([127.0.0.1]:42665 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tmdtx-0002Bl-Cd
	for submit <at> debbugs.gnu.org; Mon, 24 Feb 2025 14:14:01 -0500
Received: from mail-40133.protonmail.ch ([185.70.40.133]:27711)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <morgan.arnold@HIDDEN>)
 id 1tmdtu-0002BO-VC
 for 41602 <at> debbugs.gnu.org; Mon, 24 Feb 2025 14:13:59 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
 s=protonmail; t=1740424432; x=1740683632;
 bh=ktR6hWDKb5HWc2hDpFQd/F9kInkC0QLhdw7ouxUHtVY=;
 h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
 List-Unsubscribe:List-Unsubscribe-Post;
 b=nC5TY0V5zkgIDtK24r5n27ugbMkTL1vwrG1FZt7u5Odg7Fm3Vz+/j52Z3cZV1gG6V
 6DbxNUKhbBQBbN/D1p9pnn/F0YD7U6702eHYI3vhiX8o/KeTNDRzIrCGz5SxRmEeQ6
 RkBF+NxQkMyis3XtglplRBGol49QLvnBFzvl72YDGiQJBZiWuhLPVpg9pW9vKchozt
 w+lvRvaXLt2LN8sGcVs6KjsLa7bDXfj4EN+ebJmafoV0m6qVSB8Q6xweKPtDxjaS9p
 mRdq+My58aAkCzlg7QFLRXUvHc3VAro+ANioTtWEfgyctWE/gFwKIneEpzb4gTVYDs
 NRDSI3UHuoHpw==
Date: Mon, 24 Feb 2025 19:13:48 +0000
To: "41602 <at> debbugs.gnu.org" <41602 <at> debbugs.gnu.org>
From: Morgan Arnold <morgan.arnold@HIDDEN>
Subject: texlive is actually substitutable
Message-ID: <gy8O6t_G2lOYgafb4lLIX7zS7_P2SzwecZopSC-UYLoKexr54c61z-i9vnH6jUVfzrqTO4YveNeC8jUWua0RkJsywl2xGN8ARYpSlPiYGD0=@proton.me>
Feedback-ID: 45510636:user:proton
X-Pm-Message-ID: 097271ca34e5063ea7fe5753630453c810c944f2
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41602
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hey Ludo, Maxim,

Sorry about the double-email. I messed up the first patch by mistake. The f=
ix actually ends up being quite simple! I didn't know about `valid-derivers=
`, so thanks to Ludo for that.

This patch should fix the issue by restricting substitutions on the server =
side instead of the client side. The bug in the daemon may remain, but this=
 should at least ensure correct functionality. Besides, it seems that we ar=
e in agreement that substitutability isn't something that should really be =
enforced by the client anyway.

Best,

Morgan




Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 24 Feb 2025 19:10:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 24 14:10:18 2025
Received: from localhost ([127.0.0.1]:42646 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tmdqM-00023b-9k
	for submit <at> debbugs.gnu.org; Mon, 24 Feb 2025 14:10:18 -0500
Received: from mail-40134.protonmail.ch ([185.70.40.134]:60829)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <morgan.arnold@HIDDEN>)
 id 1tmdqI-00021p-Kv
 for 41602 <at> debbugs.gnu.org; Mon, 24 Feb 2025 14:10:16 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
 s=protonmail; t=1740424207; x=1740683407;
 bh=6nw+hStaq8Jn+8mGyiSX2eLGGFTDKhuGlMusk6OJcSw=;
 h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
 List-Unsubscribe:List-Unsubscribe-Post;
 b=l8kHoNFrOXFr+EzuwY+GO4etATuVVhZWqbEKpCWk9IikKS2O0VcHCjZf4Mo1K4iCq
 dhLuL7iR513u/CH2X9XQPSQWsM6Kns/S8n702Tf19foPHoOw5EtDqPaHWVFFZDPKY+
 0MVWBqqPBwU1ha+tD9RYfzoFhTZZEKxoYPT37MiIEhgvr7KVvViFlGDVNv9YgoOUt5
 7r3MvS8hh0HpB+KZOnyVwcpfKKIXFMhB7fZGpuEWzhum6jckDi0YJ2pMVMSiBB0h8L
 vF9YFQ0y3p8HjYjf6UrVUwfcDXzl8VIseWYu5AbAqtU2nck8Rd7CWqWP3f+anaI0ej
 HMyTtganB924w==
Date: Mon, 24 Feb 2025 19:10:03 +0000
To: 41602 <at> debbugs.gnu.org
From: Morgan Arnold <morgan.arnold@HIDDEN>
Subject: [PATCH v2] Prevent publication of non-substitutable derivation outputs
Message-ID: <bc5ddaa3c82e818bc947a173ca3a64fa8d3dd4b6.1740424114.git.morgan.arnold@HIDDEN>
Feedback-ID: 45510636:user:proton
X-Pm-Message-ID: edf155a7d99722f2cd6ac1d32b9aae8b1b45aa90
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41602
Cc: Morgan Arnold <morgan.arnold@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

This commit prevents Guix substitute servers from distributing binaries whi=
ch are marked non-substitutable. This prevents substitute servers from acci=
dentally committing copyright violations by distributing binaries which are=
 non-substitutable for copyright reasons.

Change-Id: Iaca81f5bdb430a12a3ad41e9b83e0bcc535af607
---
 guix/scripts/publish.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm
index a000c559a7..f736cf3068 100644
--- a/guix/scripts/publish.scm
+++ b/guix/scripts/publish.scm
@@ -61,6 +61,7 @@ (define-module (guix scripts publish)
   #:use-module (guix cache)
   #:use-module (guix ui)
   #:use-module (guix scripts)
+  #:use-module (guix derivations)
   #:use-module ((guix utils)
                 #:select (with-atomic-file-output compressed-file?))
   #:use-module ((guix build utils)
@@ -696,11 +697,15 @@ (define* (bake-narinfo+nar cache item
 (define* (render-nar store request store-item
                      #:key (compression %no-compression))
   "Render archive of the store path corresponding to STORE-ITEM."
-  (let ((store-path (string-append %store-directory "/" store-item)))
+  (let* ((store-path (string-append %store-directory "/" store-item))
+         (substitutable-store-item? (every substitutable-derivation?
+                                           (map read-derivation-from-file
+                                                (valid-derivers store
+                                                                store-path=
)))))
     ;; The ISO-8859-1 charset *must* be used otherwise HTTP clients will
     ;; interpret the byte stream as UTF-8 and arbitrarily change invalid b=
yte
     ;; sequences.
-    (if (valid-path? store store-path)
+    (if ((and substitutable-store-item? valid-path?) store store-path)
         (values `((content-type . (application/x-nix-archive
                                    (charset . "ISO-8859-1")))
                   (x-nar-compression . ,compression))

base-commit: 23b068c036223e70bdea9d7d579850a1cffc02a7
--=20
2.47.1






Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 24 Feb 2025 19:03:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 24 14:03:23 2025
Received: from localhost ([127.0.0.1]:42621 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tmdjf-0001eW-CZ
	for submit <at> debbugs.gnu.org; Mon, 24 Feb 2025 14:03:23 -0500
Received: from mail-4322.protonmail.ch ([185.70.43.22]:59141)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <morgan.arnold@HIDDEN>)
 id 1tmdjb-0001e8-Fo
 for 41602 <at> debbugs.gnu.org; Mon, 24 Feb 2025 14:03:22 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
 s=protonmail; t=1740423792; x=1740682992;
 bh=iB45o094k5hQZqVH6/RMJVP46zBSPKuCpiBlSPeNb/o=;
 h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
 List-Unsubscribe:List-Unsubscribe-Post;
 b=W/f4cH1wCdCcnRYYJGSCEJ3yNbUON8GQzB3oUMYjOkogkiH0ycRkTHxp41ycpQi2Z
 shzU4O0wtqpvAEj1ZGBs/ukJ2QdUMQAknGjaearxIW11Mo8NEcgl9ezDkDBKGRd/EN
 kk48qtBplHam7WQMac0fk9q1CKz/rFSgEkrRcjp48DXJ69mC6+txIr2OD0tN5Ia+yF
 V/Jc22DAQ4nSFi+RL95E34pjFMqZ4TqHoDG9mLcCxTMPXBlHtedI0u2H746gD30fhn
 A4zYHJebd0mhYl5Daq2JGmfhaZyv3tCmXc1YD1wUq2mwLZCJDpYorIlFMerIWTIwEY
 foYwIcYiJw+SA==
Date: Mon, 24 Feb 2025 19:03:07 +0000
To: 41602 <at> debbugs.gnu.org
From: Morgan Arnold <morgan.arnold@HIDDEN>
Subject: [PATCH v1] Prevent publication of non-substitutable derivation outputs
Message-ID: <ac57764fcf349604aa9520cb793d3e869c4de242.1740423677.git.morgan.arnold@HIDDEN>
Feedback-ID: 45510636:user:proton
X-Pm-Message-ID: ed325f9b56703ccb8b8c12c29e902bf6781f1545
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41602
Cc: Morgan Arnold <morgan.arnold@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

This commit prevents Guix substitute servers from distributing binaries whi=
ch are marked non-substitutable. This prevents substitute servers from acci=
dentally committing copyright violations by distributing binaries which are=
 non-substitutable for copyright reasons.

Change-Id: Iaca81f5bdb430a12a3ad41e9b83e0bcc535af607
---
 guix/scripts/publish.scm | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm
index a000c559a7..fc8b007d36 100644
--- a/guix/scripts/publish.scm
+++ b/guix/scripts/publish.scm
@@ -61,6 +61,7 @@ (define-module (guix scripts publish)
   #:use-module (guix cache)
   #:use-module (guix ui)
   #:use-module (guix scripts)
+  #:use-module (guix derivations)
   #:use-module ((guix utils)
                 #:select (with-atomic-file-output compressed-file?))
   #:use-module ((guix build utils)
@@ -696,11 +697,14 @@ (define* (bake-narinfo+nar cache item
 (define* (render-nar store request store-item
                      #:key (compression %no-compression))
   "Render archive of the store path corresponding to STORE-ITEM."
-  (let ((store-path (string-append %store-directory "/" store-item)))
+  (let* ((store-path (string-append %store-directory "/" store-item))
+         (substitutable-store-item? (every substitutable-derivation?
+                                           (map read-derivation-from-file
+                                                (valid-derivers store-path=
)))))
     ;; The ISO-8859-1 charset *must* be used otherwise HTTP clients will
     ;; interpret the byte stream as UTF-8 and arbitrarily change invalid b=
yte
     ;; sequences.
-    (if (valid-path? store store-path)
+    (if ((and substitutable-store-item? valid-path?) store store-path)
         (values `((content-type . (application/x-nix-archive
                                    (charset . "ISO-8859-1")))
                   (x-nar-compression . ,compression))

base-commit: 23b068c036223e70bdea9d7d579850a1cffc02a7
--=20
2.47.1






Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 24 Feb 2025 17:32:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 24 12:32:31 2025
Received: from localhost ([127.0.0.1]:42421 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tmcJi-0005Wf-Ot
	for submit <at> debbugs.gnu.org; Mon, 24 Feb 2025 12:32:31 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:60728)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1tmcJf-0005WN-Bi
 for 41602 <at> debbugs.gnu.org; Mon, 24 Feb 2025 12:32:27 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ludo@HIDDEN>)
 id 1tmcJX-0007ZA-Bm; Mon, 24 Feb 2025 12:32:20 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=4hil5+oAXXHBrm9xzTjREqOJRI0nKUCowhJrQJXwB4s=; b=hOS4jtRqhp/9XiUOZ7gy
 cHTF0bIghHP1NkT2CHKQ76kB1JGvthLZV/W2PfxLKqleEE5wztTfQX0LUyS52AqN4HOcJQrkPxxm+
 cV5jCBbwNK4CaEiCFFF62uuLAIe3f443GwrIe6D9BFpF/xrDDrNOx3Lu8IJx4fzgezZNKqMn/7TVw
 3+lVJ1Jr7au4P/LzC+MmpPOGtF5UTT9sbeil2qBlvVQ9YqaOlCP/tvxTPnveKCuqPGfHXUTJfcHmX
 wfjhTH0KI3sTvgh4hQIiJpA93EdhopoL+bth7dHKsRCGvs2aTc1YdaeLxKHMvAqYyuCx1rz7Ha5El
 b+3SOqfd0NO/Bw==;
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Morgan Arnold <morgan.arnold@HIDDEN>
Subject: Re: bug#41602: texlive is actually substitutable
In-Reply-To: <EU_AVZ76UKFsrLyYSjpm16v1Ivms-4Vxp6PFqmjSP95tJ3xHa1ol4wyf7BukG0ELgazJOEG7_FO_pm44dRAxAFA3T4GYLkjUqNKBOF8JuxA=@proton.me>
 (Morgan Arnold's message of "Mon, 24 Feb 2025 15:17:39 +0000")
References: <878sha3h7n.fsf@HIDDEN> <20200529180411.GB3754@HIDDEN>
 <87sgfhtt1f.fsf@HIDDEN> <874jcjw621.fsf@HIDDEN>
 <874j0rxmjs.fsf_-_@HIDDEN> <87zfiiwrra.fsf@HIDDEN>
 <87cyfba719.fsf@HIDDEN>
 <EU_AVZ76UKFsrLyYSjpm16v1Ivms-4Vxp6PFqmjSP95tJ3xHa1ol4wyf7BukG0ELgazJOEG7_FO_pm44dRAxAFA3T4GYLkjUqNKBOF8JuxA=@proton.me>
Date: Mon, 24 Feb 2025 18:32:16 +0100
Message-ID: <87tt8js0yn.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 41602
Cc: 41602 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer@HIDDEN>,
 Leo Famulari <leo@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi!

I would rely on #:substitutable? instead of relying on a new
#:distributable? flag that the daemon doesn=E2=80=99t know about anyway.

With that in mind, =E2=80=98guix publish=E2=80=99 in =E2=80=98render-nar=E2=
=80=99 could have an extra
check in addition to =E2=80=98valid-path?=E2=80=99: =E2=80=98substitutable-=
path?=E2=80=99.

One way to implement =E2=80=98substitutable-path?=E2=80=99 is by (1) gettin=
g a =E2=80=9Cderiver=E2=80=9D
of the store item with =E2=80=98valid-derivers=E2=80=99, and (2) checking w=
hether the
returned derivation (if any) passes =E2=80=98substitutable-derivation?=E2=
=80=99.

One downside is that this extra check could be a bit costly, but it=E2=80=
=99s a
cost one would only pay when not using =E2=80=98--cache=E2=80=99.

Does that make sense?

HTH,
Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 24 Feb 2025 15:17:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 24 10:17:53 2025
Received: from localhost ([127.0.0.1]:41956 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tmaDR-0003dd-2V
	for submit <at> debbugs.gnu.org; Mon, 24 Feb 2025 10:17:53 -0500
Received: from mail-10630.protonmail.ch ([79.135.106.30]:12493)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <morgan.arnold@HIDDEN>)
 id 1tmaDO-0003dK-TL
 for 41602 <at> debbugs.gnu.org; Mon, 24 Feb 2025 10:17:52 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
 s=o6ko2uc3xre2tk2wah2nlspfra.protonmail; t=1740410263; x=1740669463;
 bh=nsvG61qirUNlsvf+NDr0XSNXDgdtKncaOUEWi+TYeBo=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
 b=TWDtAL1Q8UWr78iyhRCfRePXRDyw/CxShkbl7eoZX8R0qm3r8VlX62ZBYkySLeElK
 YxUhr2x9MUwyYi1xDqxFLsZ13LFAsmeHQdk8M9Ay8IJ4cuTy2zPLuZXm6Ch8Ms7O1F
 yZYpS9HlShh78rhxivTXRbhmMZXlCKJXFQjYrpHv3uB/QWMJNcmZfz6DXx4LRZ5E8c
 xmYdVdkdomTI/5XHm/7ycbuhK2vNHuGQt1ksodpffW0KTMTgsIQBxZCKupXyrM8aKc
 tLxJtaF+uzVG0nQHAarrun1zNLikkhVM3PgshTxeGFVK18UvQUVfgr4qZ9b2zXoocA
 KPCeiksooXsCw==
Date: Mon, 24 Feb 2025 15:17:39 +0000
To: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
From: Morgan Arnold <morgan.arnold@HIDDEN>
Subject: Re: bug#41602: texlive is actually substitutable
Message-ID: <EU_AVZ76UKFsrLyYSjpm16v1Ivms-4Vxp6PFqmjSP95tJ3xHa1ol4wyf7BukG0ELgazJOEG7_FO_pm44dRAxAFA3T4GYLkjUqNKBOF8JuxA=@proton.me>
In-Reply-To: <87cyfba719.fsf@HIDDEN>
References: <878sha3h7n.fsf@HIDDEN> <20200529180411.GB3754@HIDDEN>
 <87sgfhtt1f.fsf@HIDDEN> <874jcjw621.fsf@HIDDEN>
 <874j0rxmjs.fsf_-_@HIDDEN> <87zfiiwrra.fsf@HIDDEN>
 <87cyfba719.fsf@HIDDEN>
Feedback-ID: 45510636:user:proton
X-Pm-Message-ID: 80b604d270039717d9247f9c14d8cdd09c4b8809
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41602
Cc: 41602 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer@HIDDEN>,
 Leo Famulari <leo@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Maxim, Ludo,

I did a bit of work on this, and I think that there might be a problem with=
 limiting the distribution of derivation outputs. The problem is with encod=
ing that a derivation's outputs are non-distributable. Because `#:distribut=
able?` should presumably be an argument to `derivation`, and because `guix =
publish` does not have access to the underlying derivation object, it seems=
 necessary to store distributability information somehow, like is done with=
 "allowSubstitutes" currently. The problem, then, is that when `guix publis=
h` manages a request, what it has to work with is the path of the output be=
ing requested *not the derivation from which it was built*. I could be wron=
g, but I assume that there is no way to compute, from an output path, the p=
ath of the derivation which produced it.

It then seems impossible to effectively prevent distribution! I don't see a=
 sane way to attach metadata to every single object in the store (all of wh=
ich may, to the best of my understanding, be published), and even if we inc=
lude information about distributability in the derivation file, there is no=
 way for `guix publish` to locate that derivation file, since it is supplie=
d with the path of the derivation output, not the derivation which produced=
 it.

I would appreciate thoughts on this, but I am not sure if I see how `#:dist=
ributable?` is a workable solution. I agree that enforcing non-distribution=
 on the client side is inelegant, but I don't see a way to enforce it serve=
r-side.

Best,

Morgan




Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 21 Feb 2025 11:09:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Feb 21 06:09:34 2025
Received: from localhost ([127.0.0.1]:54929 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tlQuT-000486-8I
	for submit <at> debbugs.gnu.org; Fri, 21 Feb 2025 06:09:33 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:51726)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1tlQuQ-000475-Gq
 for 41602 <at> debbugs.gnu.org; Fri, 21 Feb 2025 06:09:31 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ludo@HIDDEN>)
 id 1tlQuL-0005I1-0C; Fri, 21 Feb 2025 06:09:25 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=hpDTYPOvW95Zujb/lrEOyhJVCSxJV4uONiDndYHCmks=; b=IwCoEdAnyIv+6+8YWV6s
 F7nXsPCUdXSlWGaLkrF5MiDPc8Q0UEQN+EU63HrYm22COts9Q1eitoqFJiaN9QSSKLUXJOLrlb6Ns
 O6FWAj+pQZ/5NVemN/6VGAwJXiAoeHABt6LMx3tdcxUqTULJ2QbBFkLWe/nu/YoQZI7cnHpwC8OlM
 A/R1T1z87b8ypp6CvMvZStmpmxADFARFrg/+sStg9dm8aTDV6dbIWDSvhg5NQq23lMp+bVnhGjmTi
 FqE90KQvU1i5qfLabLCbMIfMGLneWoBfPwpu6hpLhWqSO/8dLIEup50XWn2yMV8JbFPpC7KCaD6fn
 4WnipkfQR98acw==;
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Subject: Re: bug#41602: texlive is actually substitutable
In-Reply-To: <87zfiiwrra.fsf@HIDDEN> (Maxim Cournoyer's message of "Wed, 19
 Feb 2025 12:14:01 +0900")
References: <878sha3h7n.fsf@HIDDEN> <20200529180411.GB3754@HIDDEN>
 <87sgfhtt1f.fsf@HIDDEN> <874jcjw621.fsf@HIDDEN>
 <874j0rxmjs.fsf_-_@HIDDEN> <87zfiiwrra.fsf@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: Tridi 3 =?utf-8?Q?Vent=C3=B4se?= an 233 de la
 =?utf-8?Q?R=C3=A9volution=2C?= jour du Violier
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: Fri, 21 Feb 2025 12:09:22 +0100
Message-ID: <87cyfba719.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 41602
Cc: Morgan Arnold <morgan.arnold@HIDDEN>, 41602 <at> debbugs.gnu.org,
 Leo Famulari <leo@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi,

Maxim Cournoyer <maxim.cournoyer@HIDDEN> skribis:

> But perhaps it is futile that the *client* should enforce this.  If we
> do not want to distribute something in binary form, we shouldn't bake a
> .nar for it and make it available in the first place, as pointed by
> Emily in #nix-dev:nixos.org (on their Matrix server).

Agreed, probably something to fix in =E2=80=98guix publish=E2=80=99 & co.

Thanks for addressing this longstanding issue!

Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 19 Feb 2025 03:14:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 18 22:14:27 2025
Received: from localhost ([127.0.0.1]:38223 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tkaXZ-0007GD-Vf
	for submit <at> debbugs.gnu.org; Tue, 18 Feb 2025 22:14:26 -0500
Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]:51618)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <maxim.cournoyer@HIDDEN>)
 id 1tkaXV-0007F0-51
 for 41602 <at> debbugs.gnu.org; Tue, 18 Feb 2025 22:14:22 -0500
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-220f4dd756eso84827565ad.3
 for <41602 <at> debbugs.gnu.org>; Tue, 18 Feb 2025 19:14:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1739934855; x=1740539655; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=3LIGoMi+vqpMUzfAudNlCSsl2opQhg8AfMsugjXzhY0=;
 b=bxwWt7pRdRaa6ULNtrWH14f0GbP0N35ov/vokFxILe5oe8dV+sWz8P2US7WnhCsYL8
 KIXsK9jDjmhfHsO7+O2nvXO52e1/cPuy/XQjDvwGGmqNA941lIvJ6Zchh/v/q2f0nyY0
 JpnsJlAqAjKO98JOEkzR3zeFCogkbaoCqrmLxCDHBt21A74Z4CefbpIPSSe5hYIv5OvF
 jiXjB+3mKkGNIHA/RJt7TPHo+PoJHqMGjjhm5+MBLDUnUWpqpHRa3PBEsUbwhsIAb9xA
 k9rZAwRNXlq6jUZ2UrQV3OJRZzaJ8L5qeACrFSK53ahuvXOtHYeT5NlS4I8cLdEw2qQs
 egqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1739934855; x=1740539655;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=3LIGoMi+vqpMUzfAudNlCSsl2opQhg8AfMsugjXzhY0=;
 b=btovnZBN7K8wxPmD2t7my6qbc6jzswiKmh3dmQ+qi72qqWYXNoo2Zj+Y1RoP37ZcvC
 dSmvz53oj2dOWJ+lUWy3wKIq9cn2elchrnQp6r/bfoEMNOSPnfNE8VDp/rk8OfgY1wYa
 SYZLYCdDRGxlTSDV5dTNCcH6ug0xbEInj3zuWfJScffdVLLOh001qHmjoJG+uaOtDbbE
 Ntr+w31Vs7zw+UbkxXEQclULY0NPkyRSaYc7SlHMVnGqKEVFuTBtOlxuJP/XJSCmhZ5o
 o7HgyVdDIpTmBLKvehK8rk4v1hNaKpuJY3e0LO/eenTJhZTBpC5/pabnB6d+uw42CzvM
 B4gA==
X-Forwarded-Encrypted: i=1;
 AJvYcCUJWiVX+MRL4s6HG4euqFG0UdQziw4uk1/XCMctWTrM34cA7NmpmkIuo+3CHh+qVdH7jkH2LA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzX5exwiWdoZjx4pB9UPJQd4ms6S+Xb5/P7UH5go3X1LKByeyCk
 B4H0QpTniJR4myZHPNI61xbRNVd5Vx0dSLbxIr8DBtUZ9d2zj5GD
X-Gm-Gg: ASbGncttfz4VRAH90eM6qJKO/hsB43pclRxsMylYqJGGaUtQZicySz/wzfoOr9DC2Fi
 5pDAGxACPLJYRnoS4WnUoIhCrUChYLN+GVDy2BtXFeaZsTwmMhI9gNSWkiEk1ua5960+RBWUK0y
 9NhwhI8V/L1I7NvYhSGwGMhHoiTkwlEC6pYZepzskqjkwj8DeToqtrw1mmGX8i+0fzlYCgY/Cr4
 0SMFl8a5hF9RtzmbPOlZ9PPvJ3dTQ/Ay91tnAl9JNdjb6HMV2ilEFoI5ADdOX41aCJsNuQOZxA0
 LhdF6nGEhGzqhQ==
X-Google-Smtp-Source: AGHT+IHwwSf4GyBoxCSKWgy/JtiPIyzZcvKAZzUZw25gRzhQ9GcRi/PYQqgcdhTZyCn9HWLgbS+aDw==
X-Received: by 2002:a05:6a20:9f86:b0:1ee:d3aa:abea with SMTP id
 adf61e73a8af0-1eed3aab59amr4094995637.10.1739934854925; 
 Tue, 18 Feb 2025 19:14:14 -0800 (PST)
Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542])
 by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-adb5a92d3basm9932170a12.75.2025.02.18.19.14.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Feb 2025 19:14:14 -0800 (PST)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Subject: Re: bug#41602: texlive is actually substitutable
In-Reply-To: <874j0rxmjs.fsf_-_@HIDDEN> (Maxim Cournoyer's message of "Wed, 
 19 Feb 2025 01:08:55 +0900")
References: <878sha3h7n.fsf@HIDDEN> <20200529180411.GB3754@HIDDEN>
 <87sgfhtt1f.fsf@HIDDEN> <874jcjw621.fsf@HIDDEN>
 <874j0rxmjs.fsf_-_@HIDDEN>
Date: Wed, 19 Feb 2025 12:14:01 +0900
Message-ID: <87zfiiwrra.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41602
Cc: Morgan Arnold <morgan.arnold@HIDDEN>, 41602 <at> debbugs.gnu.org,
 Leo Famulari <leo@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello,

Maxim Cournoyer <maxim.cournoyer@HIDDEN> writes:

[...]

> I haven't investigated where in this execution path the
> substitutesAllowed procedure is called, if at all, but this is what I
> will try to understand next.

This gets called, in the case of texlive, only for the texlive .drv
itself, not for its referenced .drvs, which the daemon attempts to
substitute without checking for their allowSubstitutes variable first,
as this gdb screen grab attempts to show:

--8<---------------cut here---------------start------------->8---
2: *goal = {<std::enable_shared_from_this<nix::Goal>> = {_M_weak_this = std::weak_ptr<nix::Goal> (use count 2, weak count 3) = {get() = 0x5e29a0}}, _vptr.Goal = 0x4c75e0 <vtable for nix::SubstitutionGoal+16>, worker = @0x7fffffff85c0, waitees = std::set with 0 elements, waiters = std::__cxx11::list = {[0] = std::weak_ptr<nix::Goal> (use count 1, weak count 5) = {get() = 0x5b08f0}}, nrFailed = 0, nrNoSubstituters = 0, nrIncompleteClosure = 0, name = "substitution of `/gnu/store/b5sn5ha961hab37r7vl5p2n6sf46x582-texlivetexmf-20240312'", exitCode = nix::Goal::ecBusy}

(gdb) where
#0  nix::Worker::run (this=0x7fffffff85c0, _topGoals=std::set with 1 element = {...}) at nix/libstore/build.cc:3448
#1  0x00000000004659c9 in nix::LocalStore::buildPaths (this=0x55b4d0, drvPaths=std::set with 1 element = {...}, buildMode=nix::bmNormal) at nix/libstore/build.cc:3642
#2  0x000000000040ad6c in performOp (trusted=false, clientVersion=356, from=..., to=..., op=9) at nix/nix-daemon/nix-daemon.cc:481
#3  0x000000000040e01b in processConnection (trusted=false, userId=1000) at nix/nix-daemon/nix-daemon.cc:841
#4  0x000000000040e754 in operator() (__closure=0x524f50) at nix/nix-daemon/nix-daemon.cc:1003
#5  0x0000000000410fda in std::__invoke_impl<void, acceptConnection(int)::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...) at /gnu/store/d50i890p2lg97kvc131p62wy52krapbd-profile/include/c++/bits/invoke.h:61
#6  0x000000000040f718 in std::__invoke_r<void, acceptConnection(int)::<lambda()>&>(struct {...} &) (__fn=...) at /gnu/store/d50i890p2lg97kvc131p62wy52krapbd-profile/include/c++/bits/invoke.h:154
#7  0x000000000040f5db in std::_Function_handler<void(), acceptConnection(int)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /gnu/store/d50i890p2lg97kvc131p62wy52krapbd-profile/include/c++/bits/std_function.h:290
#8  0x0000000000441f00 in std::function<void()>::operator() (this=0x7fffffffaf10) at /gnu/store/d50i890p2lg97kvc131p62wy52krapbd-profile/include/c++/bits/std_function.h:590
#9  0x00000000004ab2ef in nix::startProcess (fun=..., dieWithParent=false, errorPrefix="unexpected build daemon error: ", runExitHandlers=true) at nix/libutil/util.cc:1025
#10 0x000000000040ed6b in acceptConnection (fdSocket=3) at nix/nix-daemon/nix-daemon.cc:977
#11 0x000000000040f40e in daemonLoop (sockets=std::vector of length 1, capacity 1 = {...}) at nix/nix-daemon/nix-daemon.cc:1055
#12 0x000000000040f4bd in run (sockets=std::vector of length 1, capacity 1 = {...}) at nix/nix-daemon/nix-daemon.cc:1064
#13 0x000000000041a262 in main (argc=12, argv=0x7fffffffc208) at nix/nix-daemon/guix-daemon.cc:569
--8<---------------cut here---------------end--------------->8---

But perhaps it is futile that the *client* should enforce this.  If we
do not want to distribute something in binary form, we shouldn't bake a
.nar for it and make it available in the first place, as pointed by
Emily in #nix-dev:nixos.org (on their Matrix server).

I'll investigate this idea next.

-- 
Thanks,
Maxim




Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 18 Feb 2025 16:09:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 18 11:09:22 2025
Received: from localhost ([127.0.0.1]:59534 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tkQ9u-0006tU-0C
	for submit <at> debbugs.gnu.org; Tue, 18 Feb 2025 11:09:22 -0500
Received: from mail-pj1-x102b.google.com ([2607:f8b0:4864:20::102b]:48252)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <maxim.cournoyer@HIDDEN>)
 id 1tkQ9q-0006sh-RJ
 for 41602 <at> debbugs.gnu.org; Tue, 18 Feb 2025 11:09:16 -0500
Received: by mail-pj1-x102b.google.com with SMTP id
 98e67ed59e1d1-2fc3027c7aeso7704193a91.0
 for <41602 <at> debbugs.gnu.org>; Tue, 18 Feb 2025 08:09:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1739894949; x=1740499749; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:message-id:date:user-agent
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=6B71XkpMf1GBVmS90U39EJYlh6Ef1VCNcJMQLzfRQqw=;
 b=ib2mfesmCUqbf3Ebcxvmd6SraEg+o8dNlPNugiuHw6Oxei/xKud6dv2Maw+iBhyOwg
 GwyITyUswvkPeP73oCQkpXCAdiYnMyWOKbMaOSHw+40fpxY98+vUwaE0XlvYkBD9Sy5b
 v5M9pPptXbo70emLDLMV67e7EvYMJRGdPzoqdfMsj/A2iME9A3AuAqACRv6CyQr4KxqZ
 Y/ELA/rcMRPefPGyLQw9WbnGygRyT8CI+TlkQqyFnRY5zzuSYTOqrWhNOkk+wFe4jY+x
 G0PcCARzB4YGTFPE4yXNwyLH+iGnhEa2ko4dQfssdvXmzw5JcUnDV2WPhZNxvCNxYtLn
 cuhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1739894949; x=1740499749;
 h=content-transfer-encoding:mime-version:message-id:date:user-agent
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=6B71XkpMf1GBVmS90U39EJYlh6Ef1VCNcJMQLzfRQqw=;
 b=XA2zgx+U4JVA8eIXmT281elh8BT9EV11zC+EFDkkZXu+dM3RyJleeb7T4XJsiRY3/5
 gI3xZKPsIfWTwrCIE3s7njztTnq+yw6P+ywvUSQKpCGHarWjqhjlHjByNIPR0KjrBFWo
 CsFPdJmcZuhy/xPqeQaH2akr5m8FizciQczxikcAHSN5AQNjRvmvK0Rt80wmshqJn0iQ
 dCnd/MPcdtXJ5jvN0ocprhLHhvVRkJoky9glM4D13Ja3IuLaawu9j8cFRtqtE/bpk4UU
 oO4P+OzAcj5v+qzrDYtpJ+/rAPl6a9p2Ri7czYpfRnAcrXD46EpzYiESAV0bQycbT03E
 afjA==
X-Gm-Message-State: AOJu0YzMcn0afF4+/Dpxm7C4ICOAuUw5k3gGhe+tx83DRKtiWaEA37kt
 e+lWZuwF3+OewSDR04OzC3CYaswWMjLQkTqvcINiSLjLeWud93exdOZmeA==
X-Gm-Gg: ASbGncsBlpKsES2hE0n7k5QN58ggDcqnJFal3P4PyCq8zFwD7ORsxF7z5Jg1mr0/QP1
 18XEVer32AOna/dif4BD1+y8ceDmhRaez6GMOAhTI2F+cYDdriud/pJbFqE/8phM28M4Bcy3Lva
 LL8pG3r9nQ6laVs7LSYMsG+HA+yrHIifdmGVb9rDwa/dBAgHWDPiC4sEk1NCBNauFDBxebsoS1m
 0IaUh14eXLLsTom28f/GZsZej3H9Ea10PvQDZaNxICtWFqr60+TzMeR7f8RZH9zhz9YS/lKq8hv
 aK/UBzTsDYaS2A==
X-Google-Smtp-Source: AGHT+IHw/amSWbZCFZlhnTXNILirCfdePZ+1SA9GM9x0fGBlYX+e+alJOmYZQNyO67RHe4cxZ+hmeA==
X-Received: by 2002:a17:90b:3e8e:b0:2fa:2252:f438 with SMTP id
 98e67ed59e1d1-2fc411503b5mr20551103a91.30.1739894948600; 
 Tue, 18 Feb 2025 08:09:08 -0800 (PST)
Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-2fc13ba819asm10191340a91.41.2025.02.18.08.09.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Feb 2025 08:09:07 -0800 (PST)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Subject: Re: bug#41602: texlive is actually substitutable
In-Reply-To: <874jcjw621.fsf@HIDDEN> (Maxim Cournoyer's message of "Tue, 02
 Apr 2024 22:09:26 -0400")
References: <878sha3h7n.fsf@HIDDEN> <20200529180411.GB3754@HIDDEN>
 <87sgfhtt1f.fsf@HIDDEN> <874jcjw621.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Date: Wed, 19 Feb 2025 01:08:55 +0900
Message-ID: <874j0rxmjs.fsf_-_@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41602
Cc: Morgan Arnold <morgan.arnold@HIDDEN>, 41602 <at> debbugs.gnu.org,
 Leo Famulari <leo@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

Maxim Cournoyer <maxim.cournoyer@HIDDEN> writes:

> Hello,
>
> Ludovic Court=C3=A8s <ludo@HIDDEN> writes:
>
>> Hi,
>>
>> Leo Famulari <leo@HIDDEN> skribis:
>>
>>> On Fri, May 29, 2020 at 05:15:40PM +0200, Ludovic Court=C3=A8s wrote:
>>>> The info suggests it won=E2=80=99t be substituted, but it=E2=80=99s ev=
entually
>>>> substituted.  I wonder why, because the .drv has:
>>>>=20
>>>>   ("allowSubstitutes","0")
>>>>=20
>>>> and the daemon has:
>>>>=20
>>>>   bool substitutesAllowed(const Derivation & drv)
>>>>   {
>>>>       return get(drv.env, "allowSubstitutes", "1") =3D=3D "1";
>>>>   }
>>>>=20
>>>> and:
>>>>=20
>>>>   if (settings.useSubstitutes && substitutesAllowed(drv))
>>>>       foreach (PathSet::iterator, i, invalidOutputs)
>>>>           addWaitee(worker.makeSubstitutionGoal(*i, buildMode =3D=3D b=
mRepair));
>>>>=20
>>>> Thoughts?

It's odd, when using --dry-run, it seems the expected situation would
happen:

--8<---------------cut here---------------start------------->8---
$ guix build --no-grafts -n texlive
guix build --no-grafts -n texlive
La d=C3=A9rivation suivante serait compil=C3=A9e :
  /gnu/store/v10c5wzji81pkwq2fhj123gw3d8il0ic-texlivetexmf-20240312.drv
4=E2=80=AF270,0 Mo seraient t=C3=A9l=C3=A9charg=C3=A9s :
  /gnu/store/pb6z5d5fx6s13cjzmvlw7dykpafp9x97-texlive-20240312-texmf.tar.xz
  /gnu/store/0gkx9q1kyys8cis93cw9qhlzyx584dr6-texlive-20240312
--8<---------------cut here---------------end--------------->8---

Only the private texlivetexmf is marked as non-substitutable, so the
above looks correct (though we see the intention of preserving bandwidth
wouldn't be achieved, given the source is as large as the final
package).

When removing the --dry-run, what happens though is that the output of
the texlivetexmf package, which is marked as non-substitutable, is download=
ed:

--8<---------------cut here---------------start------------->8---
$ guix build --no-grafts texlive
La d=C3=A9rivation suivante sera compil=C3=A9e :
  /gnu/store/v10c5wzji81pkwq2fhj123gw3d8il0ic-texlivetexmf-20240312.drv
4=E2=80=AF270,0 Mo seront t=C3=A9l=C3=A9charg=C3=A9s=E2=80=AF:
  /gnu/store/pb6z5d5fx6s13cjzmvlw7dykpafp9x97-texlive-20240312-texmf.tar.xz
  /gnu/store/0gkx9q1kyys8cis93cw9qhlzyx584dr6-texlive-20240312
substitution de /gnu/store/b5sn5ha961hab37r7vl5p2n6sf46x582-texlivetexmf-20=
240312...
t=C3=A9l=C3=A9chargement depuis https://bordeaux.guix.gnu.org/nar/lzip/b5sn=
5ha961hab37r7vl5p2n6sf46x582-texlivetexmf-20240312...
 texlivetexmf-20240312  3.95GiB                                     2.8MiB/=
s 00:06 =E2=96=95                  =E2=96=8F   0.4%  C-c C-c^C
--8<---------------cut here---------------end--------------->8---

I've had some success as stopping in the daemon right before the downlod
starts, with this sequence:

Start the locally built guix-daemon in gdb, with a command like:

--8<---------------cut here---------------start------------->8---
sudo -E ./pre-inst-env gdb --args ./guix-daemon --debug --build-users-group=
=3Dguixbuild --max-silent-time 3600 --timeout 86400 --log-compression none =
--discover=3Dno --substitute-urls=3D'https://bordeaux.guix.gnu.org https://=
ci.guix.gnu.org'
--8<---------------cut here---------------end--------------->8---

Then, to be able to reach the point in the execution where the downloads
are about to start, we need to break in the first fork (but not the 2nd,
which is the guile substituter), like follows at the GDB prompt:

--8<---------------cut here---------------start------------->8---
set follow-fork-mode child

# To break inside the first child process
break LocalStore::querySubstitutablePathInfos

run

## from a terminal, 'guix build texlive' to hit breakpoint

delete 1

# avoid entering the guile substituter fork
set follow-fork-mode parent=20=20

break LocalStore::buildPaths

continue

-> should break in
Thread 2.1 "guix-daemon" hit Breakpoint 2.1, nix::LocalStore::buildPaths
(this=3D0x51f4d0, drvPaths=3Dstd::set with 1 element =3D {...},
buildMode=3Dnix::bmNormal) at nix/libstore/build.cc:3627

Thread 2.1 "guix-daemon" hit Breakpoint 2.1, nix::LocalStore::buildPaths (t=
his=3D0x51f4d0, drvPaths=3Dstd::set with 1 element =3D {...}, buildMode=3Dn=
ix::bmNormal) at nix/libstore/build.cc:3627
3627	{
(gdb) bt
#0  nix::LocalStore::buildPaths (this=3D0x51f4d0, drvPaths=3Dstd::set with =
1 element =3D {...}, buildMode=3Dnix::bmNormal) at nix/libstore/build.cc:36=
27
#1  0x00000000004253b6 in performOp (from=3D..., to=3D..., op=3D<optimized =
out>, clientVersion=3D356, trusted=3Dfalse) at nix/nix-daemon/nix-daemon.cc=
:481
#2  processConnection (trusted=3D<optimized out>, userId=3D<optimized out>)=
 at nix/nix-daemon/nix-daemon.cc:841
#3  0x000000000042805f in operator() (__closure=3D0x4e8f50) at nix/nix-daem=
on/nix-daemon.cc:1003
#4  0x00000000004280ac in std::__invoke_impl<void, acceptConnection(int)::<=
lambda()>&> (__f=3D...) at /gnu/store/hzsq64kmn9bmnkhhywav83miaaapl4m1-prof=
ile/include/c++/bits/invoke.h:61
#5  std::__invoke_r<void, acceptConnection(int)::<lambda()>&> (__fn=3D...) =
at /gnu/store/hzsq64kmn9bmnkhhywav83miaaapl4m1-profile/include/c++/bits/inv=
oke.h:154
#6  std::_Function_handler<void(), acceptConnection(int)::<lambda()> >::_M_=
invoke(const std::_Any_data &) (__functor=3D...) at /gnu/store/hzsq64kmn9bm=
nkhhywav83miaaapl4m1-profile/include/c++/bits/std_function.h:290
#7  0x0000000000495dbb in std::function<void()>::operator() (this=3D0x7ffff=
fffbb00) at /gnu/store/hzsq64kmn9bmnkhhywav83miaaapl4m1-profile/include/c++=
/bits/std_function.h:590
#8  nix::startProcess (fun=3D..., dieWithParent=3DdieWithParent@entry=3Dfal=
se, errorPrefix=3D"unexpected build daemon error: ", runExitHandlers=3DrunE=
xitHandlers@entry=3Dtrue) at nix/libutil/util.cc:1025
#9  0x00000000004237c2 in acceptConnection (fdSocket=3D<optimized out>) at =
nix/nix-daemon/nix-daemon.cc:977
#10 daemonLoop (sockets=3Dstd::vector of length 1, capacity 1 =3D {...}) at=
 nix/nix-daemon/nix-daemon.cc:1055
#11 0x00000000004241b9 in run (sockets=3Dstd::vector of length 1, capacity =
1 =3D {...}) at nix/nix-daemon/nix-daemon.cc:1064
#12 0x0000000000420635 in main (argc=3D<optimized out>, argv=3D<optimized o=
ut>) at nix/nix-daemon/guix-daemon.cc:569
--8<---------------cut here---------------end--------------->8---

I haven't investigated where in this execution path the
substitutesAllowed procedure is called, if at all, but this is what I
will try to understand next.

--=20
Thanks,
Maxim




Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 3 Apr 2024 02:09:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 02 22:09:42 2024
Received: from localhost ([127.0.0.1]:56678 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rrq4L-0005Il-Iv
	for submit <at> debbugs.gnu.org; Tue, 02 Apr 2024 22:09:41 -0400
Received: from mail-oi1-x22b.google.com ([2607:f8b0:4864:20::22b]:51537)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1rrq4J-0005Hv-0R
 for 41602 <at> debbugs.gnu.org; Tue, 02 Apr 2024 22:09:40 -0400
Received: by mail-oi1-x22b.google.com with SMTP id
 5614622812f47-3c3aeef1385so4265631b6e.3
 for <41602 <at> debbugs.gnu.org>; Tue, 02 Apr 2024 19:09:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1712110169; x=1712714969; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=OiAvGrdhBM7ftUS4tUqBY/ljmj8gxgGdGpLPy0Sle0o=;
 b=RBfv+JxZqlty2uG8ifcwKSr8mgD1JV0JjRl3mufv6e7IiubrOVAmskLrbzvk7tpP6/
 UkC1mBLYkuaENa2mzp7v9SyMRG5RTSq0MuQk+nM8gQCZQKCKswL3PFjDnqta/+0BJVgq
 k6Cfvi0nntK2jLQeP6esFj3GnqpZIA6ARvcaRRp02Ku2iHguORSVSo69ImuN4h1mjKgc
 ZjMxIfSjDT773tnt6UYYlR/upXkfkw4kJVquvlgIKWeLv6ng/53KER8zQTWl8iudRJgS
 RT00VLmOVrQpde0skoT3vghWIswVCKYzi2Hm0vx3tjDNyZGPICLHtfXz4rNsZ163ZWld
 HZ2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1712110169; x=1712714969;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=OiAvGrdhBM7ftUS4tUqBY/ljmj8gxgGdGpLPy0Sle0o=;
 b=o9azUEbyCfBJ94fOzHPGqYFza3Q7bE7xuEwMI3btziJgr6BFC8ovbI3BznbRmXC6/y
 NiAEii0aS4iCRcUE1eGZVSeUabMX2pLBkQGIVDw9ahGDV91Zj5FufXn71oAeh6GQwPFQ
 AkMTHcfxxUH3s2Ogo6BS66eRRPCQazUKKNH2Axphg7HdvtoNYC4DA+imcPxyfD+g09m8
 rVDsCdnxms0y+z+ZF0rKmvXaSusEH6f1FOYdHimYXQ+9lXOQCfsUgJOaFbpGmW8g+goc
 3aOh5ogxQSky3m32/osC6BkEvRPBMCikhR4M19r3lfoO+zsifgaXibHoyUQeeSw+Ogo2
 e/FQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCWa4t0/GeDDrfm/tUg2l3V0MHuB5bHYASve2bcV4k2WkuHnpmNywSP98yqzfLKNJ2Pwe2FvxGr2ehVRVA+DzetFJlQaHII=
X-Gm-Message-State: AOJu0Yy/umv85Pi+XoWEfq3Y7AN9jRkcssGsThpI9nxmi0x/21xSXE5c
 FzQni0fAKcTrJpzJXDETnXRV1R5iSFoHVyUhE7VFZTfX/5IPy7OtQ2m3zwEQ
X-Google-Smtp-Source: AGHT+IEBKCkR11IItX2vteFgzjCn2sDtxb6XCOq/npgkjgMexRuCDw/cu1//SuzX8b6qE77VgQo0DQ==
X-Received: by 2002:a05:6808:1488:b0:3c4:de10:a5d7 with SMTP id
 e8-20020a056808148800b003c4de10a5d7mr13103174oiw.19.1712110168767; 
 Tue, 02 Apr 2024 19:09:28 -0700 (PDT)
Received: from hurd (dsl-158-138.b2b2c.ca. [66.158.158.138])
 by smtp.gmail.com with ESMTPSA id
 u18-20020ac87512000000b00430eb19dd06sm6066158qtq.91.2024.04.02.19.09.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Apr 2024 19:09:27 -0700 (PDT)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Subject: Re: bug#41602: texlive-texmf is actually subtitutable
In-Reply-To: <87sgfhtt1f.fsf@HIDDEN> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?=
 =?utf-8?Q?s?= message of "Sat, 30 May 2020 16:07:56 +0200")
References: <878sha3h7n.fsf@HIDDEN> <20200529180411.GB3754@HIDDEN>
 <87sgfhtt1f.fsf@HIDDEN>
Date: Tue, 02 Apr 2024 22:09:26 -0400
Message-ID: <874jcjw621.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41602
Cc: 41602 <at> debbugs.gnu.org, Leo Famulari <leo@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello,

Ludovic Court=C3=A8s <ludo@HIDDEN> writes:

> Hi,
>
> Leo Famulari <leo@HIDDEN> skribis:
>
>> On Fri, May 29, 2020 at 05:15:40PM +0200, Ludovic Court=C3=A8s wrote:
>>> The info suggests it won=E2=80=99t be substituted, but it=E2=80=99s eve=
ntually
>>> substituted.  I wonder why, because the .drv has:
>>>=20
>>>   ("allowSubstitutes","0")
>>>=20
>>> and the daemon has:
>>>=20
>>>   bool substitutesAllowed(const Derivation & drv)
>>>   {
>>>       return get(drv.env, "allowSubstitutes", "1") =3D=3D "1";
>>>   }
>>>=20
>>> and:
>>>=20
>>>   if (settings.useSubstitutes && substitutesAllowed(drv))
>>>       foreach (PathSet::iterator, i, invalidOutputs)
>>>           addWaitee(worker.makeSubstitutionGoal(*i, buildMode =3D=3D bm=
Repair));
>>>=20
>>> Thoughts?
>>
>> I wonder if the content-addressed fallbacks take a different code path
>> that doesn't respect "allowSubstitutes"?
>
> It does, but this texlive-texmf.drv is not a fixed-output derivation.

I just verified; this still happens:

--8<---------------cut here---------------start------------->8---
$ guix build texlive -n
substitute: mise =C3=A0 jour des substituts depuis =C2=AB=C2=A0https://ci.g=
uix.gnu.org=C2=A0=C2=BB... 100.0 %
La d=C3=A9rivation suivante serait compil=C3=A9e :
  /gnu/store/ym96pipknrh6khzc3ws8ychiy6224y61-texlivetexmf-20230313.drv
3=E2=80=AF880,6 Mo seraient t=C3=A9l=C3=A9charg=C3=A9s :
  /gnu/store/rzczwmmkvpkahy0mgpahav0yx37ci61b-texlive-20230313-texmf.tar.xz
  /gnu/store/bcc5071mvprhp4yj1jimlhyyi499d2ba-texlivebin-20230313
  /gnu/store/bd4mzanvv7q2plm2b6zld8cz3fy0x34a-texlive-20230313
maxim@hurd ~/src/guix [env]$ guix build /gnu/store/bd4mzanvv7q2plm2b6zld8cz=
3fy0x34a-texlive-20230313
substitute: mise =C3=A0 jour des substituts depuis =C2=AB=C2=A0https://ci.g=
uix.gnu.org=C2=A0=C2=BB... 100.0 %
substitution de /gnu/store/bcc5071mvprhp4yj1jimlhyyi499d2ba-texlivebin-2023=
0313...
t=C3=A9l=C3=A9chargement depuis https://ci.guix.gnu.org/nar/lzip/bcc5071mvp=
rhp4yj1jimlhyyi499d2ba-texlivebin-20230313...
 texlivebin-20230313  13.5MiB                                   527KiB/s 00=
:26 =E2=96=95=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=
=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=
=E2=96=88=E2=96=88=E2=96=88=E2=96=8F 100.0%

substitution de /gnu/store/4hr3i6p7g2miwhy9gn64mxp1haix36dq-texlivetexmf-20=
230313...
t=C3=A9l=C3=A9chargement depuis https://ci.guix.gnu.org/nar/lzip/4hr3i6p7g2=
miwhy9gn64mxp1haix36dq-texlivetexmf-20230313...
 texlivetexmf-20230313  3.63GiB                                 360KiB/s 00=
:17 =E2=96=95                  =E2=96=8F   0.2%^C
--8<---------------cut here---------------end--------------->8---

--=20
Thanks,
Maxim




Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.
Changed bug title to 'texlive is actually substitutable' from 'texlive-texmf is actually subtitutable' Request was from Maxim Cournoyer <maxim.cournoyer@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Severity set to 'important' from 'normal' Request was from Leo Famulari <leo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 30 May 2020 14:08:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 30 10:08:05 2020
Received: from localhost ([127.0.0.1]:58817 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jf29d-0002jG-Nb
	for submit <at> debbugs.gnu.org; Sat, 30 May 2020 10:08:05 -0400
Received: from eggs.gnu.org ([209.51.188.92]:48828)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1jf29c-0002iM-KH
 for 41602 <at> debbugs.gnu.org; Sat, 30 May 2020 10:08:04 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:35485)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>)
 id 1jf29X-00009D-B1; Sat, 30 May 2020 10:07:59 -0400
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=46656 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1jf29V-0002uR-JM; Sat, 30 May 2020 10:07:59 -0400
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Leo Famulari <leo@HIDDEN>
Subject: Re: bug#41602: texlive-texmf is actually subtitutable
References: <878sha3h7n.fsf@HIDDEN> <20200529180411.GB3754@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 12 Prairial an 228 de la =?utf-8?Q?R=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: Sat, 30 May 2020 16:07:56 +0200
In-Reply-To: <20200529180411.GB3754@HIDDEN> (Leo Famulari's message of
 "Fri, 29 May 2020 14:04:11 -0400")
Message-ID: <87sgfhtt1f.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 41602
Cc: 41602 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi,

Leo Famulari <leo@HIDDEN> skribis:

> On Fri, May 29, 2020 at 05:15:40PM +0200, Ludovic Court=C3=A8s wrote:
>> The info suggests it won=E2=80=99t be substituted, but it=E2=80=99s even=
tually
>> substituted.  I wonder why, because the .drv has:
>>=20
>>   ("allowSubstitutes","0")
>>=20
>> and the daemon has:
>>=20
>>   bool substitutesAllowed(const Derivation & drv)
>>   {
>>       return get(drv.env, "allowSubstitutes", "1") =3D=3D "1";
>>   }
>>=20
>> and:
>>=20
>>   if (settings.useSubstitutes && substitutesAllowed(drv))
>>       foreach (PathSet::iterator, i, invalidOutputs)
>>           addWaitee(worker.makeSubstitutionGoal(*i, buildMode =3D=3D bmR=
epair));
>>=20
>> Thoughts?
>
> I wonder if the content-addressed fallbacks take a different code path
> that doesn't respect "allowSubstitutes"?

It does, but this texlive-texmf.drv is not a fixed-output derivation.

Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 30 May 2020 04:06:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 30 00:06:42 2020
Received: from localhost ([127.0.0.1]:56651 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jeslP-0002VD-6P
	for submit <at> debbugs.gnu.org; Sat, 30 May 2020 00:06:42 -0400
Received: from imta-38.everyone.net ([216.200.145.38]:60956)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bokr@HIDDEN>) id 1jeslM-0002V4-Ir
 for 41602 <at> debbugs.gnu.org; Sat, 30 May 2020 00:06:26 -0400
Received: from pps.filterd (omta003.sj2.proofpoint.com [127.0.0.1])
 by imta-38.everyone.net (8.16.0.27/8.16.0.27) with SMTP id 04U44LUf001178;
 Fri, 29 May 2020 21:06:23 -0700
X-Eon-Originating-Account: VtI5PiSs5k0cd_MIa5iSNGI8ceBqumf43-aL5lvSE1A
X-Eon-Dm: m0116787.ppops.net
Received: by m0116787.mta.everyone.net (EON-AUTHRELAY2 - 5a81dd03)
 id m0116787.5e67f91f.98305b; Fri, 29 May 2020 21:06:19 -0700
X-Eon-Sig: AQMHrIJe0du70zh1ZQIAAAAC,2cdab7681c30a631fcf1bee9dbae7fb7
X-Eip: 0nCpOmcZ3QDj3kvsg756sFiIEEz2yjJVl2yzLr0Qmtc
Date: Sat, 30 May 2020 06:06:09 +0200
From: Bengt Richter <bokr@HIDDEN>
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Subject: Re: bug#41602: texlive-texmf is actually subtitutable
Message-ID: <20200530040609.GA2810@LionPure>
References: <878sha3h7n.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <878sha3h7n.fsf@HIDDEN>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.687
 definitions=2020-05-30_01:2020-05-28,
 2020-05-30 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 priorityscore=1501 malwarescore=0
 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1034
 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2004280000
 definitions=main-2005300030
X-Spam-Score: -0.4 (/)
X-Debbugs-Envelope-To: 41602
Cc: 41602 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Bengt Richter <bokr@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

On +2020-05-29 17:15:40 +0200, Ludovic Courtès wrote:
> Strangely, ‘texlive-texmf’ (the big one) is substitutable:
> 
> --8<---------------cut here---------------start------------->8---
> $ guix describe
> Generacio 145   May 25 2020 00:37:58    (nuna)
>   guix 9744cc7
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: 9744cc7b4636fafb772c94adb8f05961b5b39f16
> $ guix environment --ad-hoc texlive -- texdoc biblatex
> 2.6 MB will be downloaded:
>    /gnu/store/7ji4l3szj68b0r5w10bvvdx1vy6nhz5p-subversion-1.10.6
> downloading from https://ci.guix.gnu.org/nar/lzip/7ji4l3szj68b0r5w10bvvdx1vy6nhz5p-subversion-1.10.6 ...
>  subversion-1.10.6  2.5MiB                                                                                                                                7.2MiB/s 00:00 [##################] 100.0%
> 
> La jena derivo estos konstruata:
>    /gnu/store/55yx02hr0dz47px1aj0j14xll3bsrmml-texlive-texmf-20190410.drv
> 2,845.8 MB will be downloaded:
>    /gnu/store/nm6w84c9zj3yiylal3dk1sqzxq11sjzw-texlive-20190410-texmf.tar.xz
>    /gnu/store/xpkl70g3bls935h1zdlq7sn2j6rccp3k-texlive-20190410
> downloading from https://ci.guix.gnu.org/nar/lzip/z4xvgiliw5baf1pr4z03c7n2hw3bm5x5-texlive-texmf-20190410 ...
>  texlive-texmf-20190410  2.61GiB
> --8<---------------cut here---------------end--------------->8---
> 
> The info suggests it won’t be substituted, but it’s eventually
> substituted.  I wonder why, because the .drv has:
> 
>   ("allowSubstitutes","0")
> 
> and the daemon has:
> 
>   bool substitutesAllowed(const Derivation & drv)
>   {
>       return get(drv.env, "allowSubstitutes", "1") == "1";
>   }
> 
> and:
> 
>   if (settings.useSubstitutes && substitutesAllowed(drv))
>       foreach (PathSet::iterator, i, invalidOutputs)
>           addWaitee(worker.makeSubstitutionGoal(*i, buildMode == bmRepair));
> 
> Thoughts?

This is the kind of "wonder why" that makes me wonder about trojan horse bug fixes
as described in [1], which is a really interesting and scary read, especially since [1]
could very conceivably be an example of what it itself is talking about (though they
don't sound malicious, so I can hope trusting okular to display it was not giving
them a pdf or image parser to exploit with malice).

Anyway, please note that the "pdf" file starts with these lines:

--8<---------------cut here---------------start------------->8---
# I'm a shell script :-) so please make me executable!
# No shebang but I work equally well with Bash, Dash and Zsh
# The script embeds link-grammar, a x86-64 ELF so it requires to be run on a x86-64 linux system
--8<---------------cut here---------------end--------------->8---

What looks like the beginning of a normal pdf file starts at line 30 counting from 1 as first line.
okular will display the original as if it were pdf (bug??) though "file" just sees it as "data."

Trim off the first 29 lines and file sees it as pdf, and pdfinfo will find its way too.

Idk, you might want at least to cut out the first 29 lines before looking at it with e.g. okular,
(which I trustingly used to open the file): note that okular got past the 29-line script part, (which
is a bit promiscuous for my taste), and displayed the pdf.

It was really interesting, esp the sections around

--8<---------------cut here---------------start------------->8---
3
Deniable Backdoors Using Compiler Bugs
by Scott Bauer, Pascal Cuoq, and John Regehr
--8<---------------cut here---------------end--------------->8---

Maybe you can view it in a sandbox :) But don't blame me if you don't.
YOU WERE WARNED.

So read it -- and wonder what might come with a mysterious substitute ;-P

[1]  https://www.alchemistowl.org/pocorgtfo/pocorgtfo08.pdf

> 
> Ludo’.
> 
> 
> 

-- 
Regards,
Bengt Richter




Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at 41602 <at> debbugs.gnu.org:


Received: (at 41602) by debbugs.gnu.org; 29 May 2020 18:04:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 29 14:04:20 2020
Received: from localhost ([127.0.0.1]:56180 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jejMh-0002TO-Pp
	for submit <at> debbugs.gnu.org; Fri, 29 May 2020 14:04:19 -0400
Received: from out5-smtp.messagingengine.com ([66.111.4.29]:33279)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leo@HIDDEN>) id 1jejMh-0002TA-2O
 for 41602 <at> debbugs.gnu.org; Fri, 29 May 2020 14:04:19 -0400
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.nyi.internal (Postfix) with ESMTP id 001235C00E2;
 Fri, 29 May 2020 14:04:13 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Fri, 29 May 2020 14:04:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name;
 h=date:from:to:cc:subject:message-id:references:mime-version
 :content-type:content-transfer-encoding:in-reply-to; s=mesmtp;
 bh=xeoM+eLb7CQjW2kVqqKxKv43x4XNpQIuhwL4bF8J44U=; b=ytw7i7CNZfax
 KpCJMiuSFXI7tK2/yHjLIZVZQBs/ZRv83mf5iPeVptWA/pRzzL2NzLbtILsUZXnb
 T3fK0tctr2PFOCTNs8y3yMpoyveOqPLuC+kXf3RsyVtOt0oDSP3+fSmOZZvKrS4o
 YV2yx5wjNTsPhwdfDGcr/FlCITioL2k=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :date:from:in-reply-to:message-id:mime-version:references
 :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm2; bh=xeoM+eLb7CQjW2kVqqKxKv43x4XNpQIuhwL4bF8J4
 4U=; b=nG68dd0+UfSbhBdMtBkCN2eT1Ff8VY+tM1PgJJwQIa8ZBf7KDxgf150DQ
 zOIr60A7DYvcMytcBprrYs2Jj7NaAt0dIra2oFnaYEf6govVEVgKD1tiigdnMvuv
 Pc7QvVDeG5mhBt1bO+guVXNQBANWjyOKI+zaWg0WvamB5O7VXzArUUHW5EgmO9Ee
 /B7Qiok+HxwQpADmcQ4YYo8SIOI+CxVyf7M6bQNxvwTQbWUtRbvJoPAG0OpwGfSN
 pGrxuAiMoEbecBqgAWYH9/e0DBx5uNt//QT/Gi70mqKcpE+Estq/FM9ni9B/+a7d
 xQSJsXylpAUtSMb+bdDtzr4N7FCww==
X-ME-Sender: <xms:nU7RXhvz8zL2GzAhU8cBl0XrJNK06RdaFSHQnK_KN78mXFjXDXY5kQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedruddvkedgleeiucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepfffhvffukfhfgggtugfgjgesthekredttddtjeenucfhrhhomhepnfgvohcu
 hfgrmhhulhgrrhhiuceolhgvohesfhgrmhhulhgrrhhirdhnrghmvgeqnecuggftrfgrth
 htvghrnhepgeejgeeghedtudfgffdutddvffefffejkeffffevffehgedvvdeutdffkeej
 jeejnecukfhppeejiedruddvgedrudefkedrieefnecuvehluhhsthgvrhfuihiivgeptd
 enucfrrghrrghmpehmrghilhhfrhhomheplhgvohesfhgrmhhulhgrrhhirdhnrghmvg
X-ME-Proxy: <xmx:nU7RXqfgIq0FlzP9QYSsvUqueecL7FRby_RAD5rB6mVrP1pAAnsBCg>
 <xmx:nU7RXkwJBPG3u0XyhQBGL9G177QTtiJzwQVTR5MAwHD-pXS3vdRsZQ>
 <xmx:nU7RXoOpBf4huNmjz_6aE97RK_M0m4PQa5n_Lw-yJkYgUcIbqVOeSA>
 <xmx:nU7RXkKGp4ldhTgy5aNJrWveG_xUsUqyJAUnK0MJnXVMwZYlZ61N-g>
Received: from localhost (c-76-124-138-63.hsd1.pa.comcast.net [76.124.138.63])
 by mail.messagingengine.com (Postfix) with ESMTPA id 7081F306215A;
 Fri, 29 May 2020 14:04:13 -0400 (EDT)
Date: Fri, 29 May 2020 14:04:11 -0400
From: Leo Famulari <leo@HIDDEN>
To: Ludovic =?iso-8859-1?Q?Court=E8s?= <ludo@HIDDEN>
Subject: Re: bug#41602: texlive-texmf is actually subtitutable
Message-ID: <20200529180411.GB3754@HIDDEN>
References: <878sha3h7n.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <878sha3h7n.fsf@HIDDEN>
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 41602
Cc: 41602 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On Fri, May 29, 2020 at 05:15:40PM +0200, Ludovic Courtès wrote:
> The info suggests it won’t be substituted, but it’s eventually
> substituted.  I wonder why, because the .drv has:
> 
>   ("allowSubstitutes","0")
> 
> and the daemon has:
> 
>   bool substitutesAllowed(const Derivation & drv)
>   {
>       return get(drv.env, "allowSubstitutes", "1") == "1";
>   }
> 
> and:
> 
>   if (settings.useSubstitutes && substitutesAllowed(drv))
>       foreach (PathSet::iterator, i, invalidOutputs)
>           addWaitee(worker.makeSubstitutionGoal(*i, buildMode == bmRepair));
> 
> Thoughts?

I wonder if the content-addressed fallbacks take a different code path
that doesn't respect "allowSubstitutes"?




Information forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 29 May 2020 15:16:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 29 11:16:03 2020
Received: from localhost ([127.0.0.1]:55808 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jegjq-00047I-O4
	for submit <at> debbugs.gnu.org; Fri, 29 May 2020 11:16:03 -0400
Received: from lists.gnu.org ([209.51.188.17]:54258)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1jegjp-00046s-5M
 for submit <at> debbugs.gnu.org; Fri, 29 May 2020 11:16:01 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:44574)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1jegjo-0007Lp-WB
 for bug-guix@HIDDEN; Fri, 29 May 2020 11:16:01 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:40982)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>) id 1jegjo-0006iu-MT
 for bug-guix@HIDDEN; Fri, 29 May 2020 11:16:00 -0400
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=44068 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jegjm-0001TT-U8
 for bug-guix@HIDDEN; Fri, 29 May 2020 11:15:59 -0400
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: bug-guix@HIDDEN
Subject: texlive-texmf is actually subtitutable
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 11 Prairial an 228 de la =?utf-8?Q?R=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: Fri, 29 May 2020 17:15:40 +0200
Message-ID: <878sha3h7n.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Strangely, =E2=80=98texlive-texmf=E2=80=99 (the big one) is substitutable:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generacio 145   May 25 2020 00:37:58    (nuna)
  guix 9744cc7
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 9744cc7b4636fafb772c94adb8f05961b5b39f16
$ guix environment --ad-hoc texlive -- texdoc biblatex
2.6 MB will be downloaded:
   /gnu/store/7ji4l3szj68b0r5w10bvvdx1vy6nhz5p-subversion-1.10.6
downloading from https://ci.guix.gnu.org/nar/lzip/7ji4l3szj68b0r5w10bvvdx1v=
y6nhz5p-subversion-1.10.6 ...
 subversion-1.10.6  2.5MiB                                                 =
                                                                           =
    7.2MiB/s 00:00 [##################] 100.0%

La jena derivo estos konstruata:
   /gnu/store/55yx02hr0dz47px1aj0j14xll3bsrmml-texlive-texmf-20190410.drv
2,845.8 MB will be downloaded:
   /gnu/store/nm6w84c9zj3yiylal3dk1sqzxq11sjzw-texlive-20190410-texmf.tar.xz
   /gnu/store/xpkl70g3bls935h1zdlq7sn2j6rccp3k-texlive-20190410
downloading from https://ci.guix.gnu.org/nar/lzip/z4xvgiliw5baf1pr4z03c7n2h=
w3bm5x5-texlive-texmf-20190410 ...
 texlive-texmf-20190410  2.61GiB
--8<---------------cut here---------------end--------------->8---

The info suggests it won=E2=80=99t be substituted, but it=E2=80=99s eventua=
lly
substituted.  I wonder why, because the .drv has:

  ("allowSubstitutes","0")

and the daemon has:

  bool substitutesAllowed(const Derivation & drv)
  {
      return get(drv.env, "allowSubstitutes", "1") =3D=3D "1";
  }

and:

  if (settings.useSubstitutes && substitutesAllowed(drv))
      foreach (PathSet::iterator, i, invalidOutputs)
          addWaitee(worker.makeSubstitutionGoal(*i, buildMode =3D=3D bmRepa=
ir));

Thoughts?

Ludo=E2=80=99.




Acknowledgement sent to Ludovic Courtès <ludo@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#41602; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 24 Feb 2025 19:15:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.