From unknown Tue Jun 17 21:55:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#44835: gnu/ci.go: Embeds build path, breaking reproducible builds Resent-From: Vagrant Cascadian Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 24 Nov 2020 04:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 44835 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 44835@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16061916277803 (code B ref -1); Tue, 24 Nov 2020 04:21:01 +0000 Received: (at submit) by debbugs.gnu.org; 24 Nov 2020 04:20:27 +0000 Received: from localhost ([127.0.0.1]:52002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1khPoZ-00021l-Az for submit@debbugs.gnu.org; Mon, 23 Nov 2020 23:20:27 -0500 Received: from lists.gnu.org ([209.51.188.17]:37080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1khPoY-00021e-64 for submit@debbugs.gnu.org; Mon, 23 Nov 2020 23:20:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59820) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khPoX-0003MI-Ve for bug-guix@gnu.org; Mon, 23 Nov 2020 23:20:26 -0500 Received: from cascadia.aikidev.net ([173.255.214.101]:43348) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khPoW-00071b-2F for bug-guix@gnu.org; Mon, 23 Nov 2020 23:20:25 -0500 Received: from localhost (unknown [IPv6:2600:3c01:e000:21:21:21:0:100b]) (Authenticated sender: vagrant@aikidev.net) by cascadia.aikidev.net (Postfix) with ESMTPSA id C14561AA41 for ; Mon, 23 Nov 2020 20:20:17 -0800 (PST) From: Vagrant Cascadian Date: Mon, 23 Nov 2020 20:19:54 -0800 Message-ID: <87r1ojgzdh.fsf@yucca> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: none client-ip=173.255.214.101; envelope-from=vagrant@reproducible-builds.org; helo=cascadia.aikidev.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) --=-=-= Content-Type: text/plain Something in gnu/ci.scm is embedding the build path when compiled into gnu/ci.go, as can be seen: https://tests.reproducible-builds.org/debian/rb-pkg/experimental/amd64/diffoscope-results/guix.html ./usr/lib/x86_64-linux-gnu/guile/3.0/site-ccache/gnu/ci.go strings --all --bytes=8 {} Offset 85, 15 lines modified Offset 85, 15 lines modified ... 92 /build/1st/guix-1.2.0~rc2/gnu/ci.scm 92 /build/2/guix-1.2.0~rc2/2nd/gnu/ci.scm While guix builds of guix are typically built with a consistent build path, it would be nice to fix this issue for other environments where the build path may vary between builds. My *wild* guess is it maybe has something to do with the use of canonicalize-path: (define (find-current-checkout arguments) "Find the first checkout of ARGUMENTS that provided the current file. Return #f if no such checkout is found." (let ((current-root (canonicalize-path (string-append (dirname (current-filename)) "/..")))) (find (lambda (argument) (and=> (assq-ref argument 'file-name) (lambda (name) (string=? name current-root)))) arguments))) Either directly or indirectly... does canonicalize-path resolve at build time? run time? somewhere in-between? Or is this a red herring, and something else entirely is responsible? I'll let a competent schemer ponder this! :) Thanks for all your help! live well, vagrant --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCX7yJ6gAKCRDcUY/If5cW qlmmAQD+b4gNNqA6atRtAHhIqm5o4r5EqMgH/9uiGy4s5VsBpAD8CtYB6YkOAAsA K5sxn7qvHLyvpGepXa2VrrmtWHNTUgg= =zJG9 -----END PGP SIGNATURE----- --=-=-=-- From unknown Tue Jun 17 21:55:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#44835: gnu/ci.go: Embeds build path, breaking reproducible builds Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 26 Nov 2020 21:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44835 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Vagrant Cascadian Cc: Mathieu Othacehe , 44835@debbugs.gnu.org Received: via spool by 44835-submit@debbugs.gnu.org id=B44835.160642676026926 (code B ref 44835); Thu, 26 Nov 2020 21:40:02 +0000 Received: (at 44835) by debbugs.gnu.org; 26 Nov 2020 21:39:20 +0000 Received: from localhost ([127.0.0.1]:43062 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiOz1-00070D-1g for submit@debbugs.gnu.org; Thu, 26 Nov 2020 16:39:19 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43972) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiOyy-0006zy-Mk for 44835@debbugs.gnu.org; Thu, 26 Nov 2020 16:39:17 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51560) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kiOyt-0001iv-34; Thu, 26 Nov 2020 16:39:11 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=45266 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kiOys-0005d9-6r; Thu, 26 Nov 2020 16:39:10 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <87r1ojgzdh.fsf@yucca> Date: Thu, 26 Nov 2020 22:39:08 +0100 In-Reply-To: <87r1ojgzdh.fsf@yucca> (Vagrant Cascadian's message of "Mon, 23 Nov 2020 20:19:54 -0800") Message-ID: <87blfj23yb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi! Vagrant Cascadian skribis: > My *wild* guess is it maybe has something to do with the use of > canonicalize-path: > > (define (find-current-checkout arguments) > "Find the first checkout of ARGUMENTS that provided the current file. > Return #f if no such checkout is found." > (let ((current-root > (canonicalize-path > (string-append (dirname (current-filename)) "/..")))) > (find (lambda (argument) > (and=3D> (assq-ref argument 'file-name) > (lambda (name) > (string=3D? name current-root)))) arguments))) =E2=80=98canonicalize-path=E2=80=99 is called at run time, so that=E2=80=99= s fine. However, =E2=80=98current-filename=E2=80=99 is a macro that captures the source file= name at build time, so it=E2=80=99s the likely culprit here. I was going to go with something like: --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/ci.scm b/gnu/ci.scm index 5548d9560e..0bacfbe025 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -488,7 +488,8 @@ valid." Return #f if no such checkout is found." (let ((current-root (canonicalize-path - (string-append (dirname (current-filename)) "/..")))) + (string-append (dirname (search-path %load-path "gnu/ci.scm")) + "/..")))) (find (lambda (argument) (and=> (assq-ref argument 'file-name) (lambda (name) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable =E2=80=A6 but I don=E2=80=99t think we can assume that the checkout is in t= he =E2=80=98%load-path=E2=80=99 when this code is executed. WDYT, Mathieu? Looking at f71b0a0012d46bd30ead1a14ed58fd59647415e2, which introduced this, there might be other options too. Thanks, Ludo=E2=80=99. --=-=-=-- From unknown Tue Jun 17 21:55:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#44835: gnu/ci.go: Embeds build path, breaking reproducible builds Resent-From: Vagrant Cascadian Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 27 Nov 2020 20:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44835 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Mathieu Othacehe , 44835@debbugs.gnu.org Received: via spool by 44835-submit@debbugs.gnu.org id=B44835.160650874520927 (code B ref 44835); Fri, 27 Nov 2020 20:26:02 +0000 Received: (at 44835) by debbugs.gnu.org; 27 Nov 2020 20:25:45 +0000 Received: from localhost ([127.0.0.1]:46329 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kikJM-0005RT-Tn for submit@debbugs.gnu.org; Fri, 27 Nov 2020 15:25:45 -0500 Received: from cascadia.aikidev.net ([173.255.214.101]:34850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kikJK-0005RF-FQ for 44835@debbugs.gnu.org; Fri, 27 Nov 2020 15:25:44 -0500 Received: from localhost (unknown [IPv6:2600:3c01:e000:21:21:21:0:100b]) (Authenticated sender: vagrant@aikidev.net) by cascadia.aikidev.net (Postfix) with ESMTPSA id 4A95F1AA41; Fri, 27 Nov 2020 12:25:36 -0800 (PST) From: Vagrant Cascadian In-Reply-To: <87blfj23yb.fsf@gnu.org> References: <87r1ojgzdh.fsf@yucca> <87blfj23yb.fsf@gnu.org> Date: Fri, 27 Nov 2020 12:25:05 -0800 Message-ID: <878samh7j2.fsf@yucca> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 2020-11-26, Ludovic Court=C3=A8s wrote: > Vagrant Cascadian skribis: >> My *wild* guess is it maybe has something to do with the use of >> canonicalize-path: >> >> (define (find-current-checkout arguments) >> "Find the first checkout of ARGUMENTS that provided the current file. >> Return #f if no such checkout is found." >> (let ((current-root >> (canonicalize-path >> (string-append (dirname (current-filename)) "/..")))) >> (find (lambda (argument) >> (and=3D> (assq-ref argument 'file-name) >> (lambda (name) >> (string=3D? name current-root)))) arguments))) > > =E2=80=98canonicalize-path=E2=80=99 is called at run time, so that=E2=80= =99s fine. However, > =E2=80=98current-filename=E2=80=99 is a macro that captures the source fi= le name at > build time, so it=E2=80=99s the likely culprit here. > > I was going to go with something like: > > diff --git a/gnu/ci.scm b/gnu/ci.scm > index 5548d9560e..0bacfbe025 100644 > --- a/gnu/ci.scm > +++ b/gnu/ci.scm > @@ -488,7 +488,8 @@ valid." > Return #f if no such checkout is found." > (let ((current-root > (canonicalize-path > - (string-append (dirname (current-filename)) "/..")))) > + (string-append (dirname (search-path %load-path "gnu/ci.scm")) > + "/..")))) > (find (lambda (argument) > (and=3D> (assq-ref argument 'file-name) > (lambda (name) > > =E2=80=A6 but I don=E2=80=99t think we can assume that the checkout is in= the > =E2=80=98%load-path=E2=80=99 when this code is executed. WDYT, Mathieu? > > Looking at f71b0a0012d46bd30ead1a14ed58fd59647415e2, which introduced > this, there might be other options too. This does resolve the reproducibility issues after some "quick" testing; no idea if it breaks anything, though I didn't see any new test suite failures (though my builds are patched to skip many tests)... live well, vagrant --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCX8FgoQAKCRDcUY/If5cW qrW3AP4zrVVyDNDv2kxfNWWCrqfxOnmgYNKhXG8nlg0H9vb6pgEAttq02lrkEthU RDqtXmcO+pjoMZmboFK6T3b4397S+go= =G6Px -----END PGP SIGNATURE----- --=-=-=-- From unknown Tue Jun 17 21:55:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#44835: gnu/ci.go: Embeds build path, breaking reproducible builds Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 01 Dec 2020 09:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44835 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 44835@debbugs.gnu.org, Vagrant Cascadian Received: via spool by 44835-submit@debbugs.gnu.org id=B44835.160681567326408 (code B ref 44835); Tue, 01 Dec 2020 09:42:02 +0000 Received: (at 44835) by debbugs.gnu.org; 1 Dec 2020 09:41:13 +0000 Received: from localhost ([127.0.0.1]:57868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kk29p-0006rr-0C for submit@debbugs.gnu.org; Tue, 01 Dec 2020 04:41:13 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35718) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kk29m-0006rd-H9 for 44835@debbugs.gnu.org; Tue, 01 Dec 2020 04:41:11 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51189) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kk29g-0001ek-BH; Tue, 01 Dec 2020 04:41:04 -0500 Received: from [2a01:e0a:19b:d9a0:d91d:e880:959c:e46b] (port=49958 helo=cervin) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kk29e-0001ea-5V; Tue, 01 Dec 2020 04:41:03 -0500 From: Mathieu Othacehe References: <87r1ojgzdh.fsf@yucca> <87blfj23yb.fsf@gnu.org> Date: Tue, 01 Dec 2020 10:41:00 +0100 In-Reply-To: <87blfj23yb.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Thu, 26 Nov 2020 22:39:08 +0100") Message-ID: <87wny13lub.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) Hey, > =E2=80=A6 but I don=E2=80=99t think we can assume that the checkout is in= the > =E2=80=98%load-path=E2=80=99 when this code is executed. WDYT, Mathieu? Cuirass happens to add checkouts to the %load-path just before loading this file. I tested your path, it works fine. I think it is acceptable as this (gnu ci) interface needs a big rework anyway. I can apply your patch if it's ok for you. Thanks, Mathieu From unknown Tue Jun 17 21:55:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#44835: gnu/ci.go: Embeds build path, breaking reproducible builds Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 03 Dec 2020 13:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44835 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Mathieu Othacehe Cc: 44835@debbugs.gnu.org, Vagrant Cascadian Received: via spool by 44835-submit@debbugs.gnu.org id=B44835.160700184228094 (code B ref 44835); Thu, 03 Dec 2020 13:24:02 +0000 Received: (at 44835) by debbugs.gnu.org; 3 Dec 2020 13:24:02 +0000 Received: from localhost ([127.0.0.1]:38947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kkoaX-0007J0-If for submit@debbugs.gnu.org; Thu, 03 Dec 2020 08:24:01 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35152) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kkoaW-0007Im-9o for 44835@debbugs.gnu.org; Thu, 03 Dec 2020 08:24:00 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43264) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kkoaQ-0001zo-LI; Thu, 03 Dec 2020 08:23:54 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=50062 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kkoaP-0006Ef-TZ; Thu, 03 Dec 2020 08:23:54 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <87r1ojgzdh.fsf@yucca> <87blfj23yb.fsf@gnu.org> <87wny13lub.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 13 Frimaire an 229 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: Thu, 03 Dec 2020 14:23:52 +0100 In-Reply-To: <87wny13lub.fsf@gnu.org> (Mathieu Othacehe's message of "Tue, 01 Dec 2020 10:41:00 +0100") Message-ID: <87o8jbdnvb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) Hi, Mathieu Othacehe skribis: >> =E2=80=A6 but I don=E2=80=99t think we can assume that the checkout is i= n the >> =E2=80=98%load-path=E2=80=99 when this code is executed. WDYT, Mathieu? > > Cuirass happens to add checkouts to the %load-path just before loading > this file. Is that systematic? Isn=E2=80=99t it only when =E2=80=98load_path_inputs= =E2=80=99 is non-empty? > I tested your path, it works fine. I think it is acceptable as this (gnu > ci) interface needs a big rework anyway. > > I can apply your patch if it's ok for you. Sure if you=E2=80=99re confident you can go ahead. :-) Thanks, Ludo=E2=80=99. From unknown Tue Jun 17 21:55:00 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Vagrant Cascadian Subject: bug#44835: closed (Re: bug#44835: gnu/ci.go: Embeds build path, breaking reproducible builds) Message-ID: References: <875xxxogva.fsf@wireframe> <87r1ojgzdh.fsf@yucca> X-Gnu-PR-Message: they-closed 44835 X-Gnu-PR-Package: guix Reply-To: 44835@debbugs.gnu.org Date: Thu, 07 Mar 2024 21:48:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1709848082-16730-1" This is a multi-part message in MIME format... ------------=_1709848082-16730-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #44835: gnu/ci.go: Embeds build path, breaking reproducible builds which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 44835@debbugs.gnu.org. --=20 44835: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D44835 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1709848082-16730-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 44835-done) by debbugs.gnu.org; 7 Mar 2024 21:47:27 +0000 Received: from localhost ([127.0.0.1]:55199 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1riLaI-0004Ky-MT for submit@debbugs.gnu.org; Thu, 07 Mar 2024 16:47:26 -0500 Received: from cascadia.aikidev.net ([173.255.214.101]:45808) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1riLaG-0004Kk-Ph for 44835-done@debbugs.gnu.org; Thu, 07 Mar 2024 16:47:25 -0500 Received: from localhost (unknown [IPv6:2600:3c01:e000:21:7:77:0:50]) (Authenticated sender: vagrant@aikidev.net) by cascadia.aikidev.net (Postfix) with ESMTPSA id 525D51AD7C; Thu, 7 Mar 2024 13:46:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=reproducible-builds.org; s=1.vagrant; t=1709847974; bh=gDLM4KZWWiyQyYQimUFE/5LfUEYkApAAh8+T/fyojLM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=2k5JsaXal7g2KjwSIjcZqgUAHr7BuuSn4vmZm4Z5HtVtZmMlAW80a3P6BfkbE+3Eg A/QBHmx7Pe59Sdzhqhhb0kVK7RmBYcGx9X7CF9Mesjmiz3sWjCKJGXeDuYHtKjRttp TG0L5qwavIJJH8F9YWnP83/FM9X4Hqw10oLV6N7acSB2St9fG8hExRKCSOMCWjj6dt ORUcOBrQcgYpkuUWumdy+RKgJ09c38fO9ukU1wX4N4DDTJvKNSf6qEp7hxYyZPRNEI 1ZUHLnlW3HliPW3GrHQdV5rBRjiaizS4wMCZWktExW21U3PL3f6FZMSE2w2GVsPQvl AgDi7FEhxKLbQ== From: Vagrant Cascadian To: Ludovic =?utf-8?Q?Court=C3=A8s?= , Mathieu Othacehe Subject: Re: bug#44835: gnu/ci.go: Embeds build path, breaking reproducible builds In-Reply-To: <87o8jbdnvb.fsf@gnu.org> References: <87r1ojgzdh.fsf@yucca> <87blfj23yb.fsf@gnu.org> <87wny13lub.fsf@gnu.org> <87o8jbdnvb.fsf@gnu.org> Date: Thu, 07 Mar 2024 13:46:01 -0800 Message-ID: <875xxxogva.fsf@wireframe> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 44835-done Cc: 44835-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 2020-12-03, Ludovic Court=C3=A8s wrote: > Mathieu Othacehe skribis: > >>> =E2=80=A6 but I don=E2=80=99t think we can assume that the checkout is = in the >>> =E2=80=98%load-path=E2=80=99 when this code is executed. WDYT, Mathieu? >> >> Cuirass happens to add checkouts to the %load-path just before loading >> this file. > > Is that systematic? Isn=E2=80=99t it only when =E2=80=98load_path_inputs= =E2=80=99 is non-empty? > >> I tested your path, it works fine. I think it is acceptable as this (gnu >> ci) interface needs a big rework anyway. >> >> I can apply your patch if it's ok for you. > > Sure if you=E2=80=99re confident you can go ahead. :-) This looks to have been fixed some time ago in: 76bea3f8bcd951ded88dfb7f8cad5bc3e5a1701f ci: Remove hydra support. live well, vagrant --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCZeo1mQAKCRDcUY/If5cW qgC/AP45REunfhTWgLsx/uj/E+L/tpY/RWNKAUhFlDmjwYzd4gD/efPNYzm8Rndc c654SE2YJqWQwa/F/pS4KM+wfRHZVQs= =6HvJ -----END PGP SIGNATURE----- --=-=-=-- ------------=_1709848082-16730-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 24 Nov 2020 04:20:27 +0000 Received: from localhost ([127.0.0.1]:52002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1khPoZ-00021l-Az for submit@debbugs.gnu.org; Mon, 23 Nov 2020 23:20:27 -0500 Received: from lists.gnu.org ([209.51.188.17]:37080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1khPoY-00021e-64 for submit@debbugs.gnu.org; Mon, 23 Nov 2020 23:20:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59820) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khPoX-0003MI-Ve for bug-guix@gnu.org; Mon, 23 Nov 2020 23:20:26 -0500 Received: from cascadia.aikidev.net ([173.255.214.101]:43348) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khPoW-00071b-2F for bug-guix@gnu.org; Mon, 23 Nov 2020 23:20:25 -0500 Received: from localhost (unknown [IPv6:2600:3c01:e000:21:21:21:0:100b]) (Authenticated sender: vagrant@aikidev.net) by cascadia.aikidev.net (Postfix) with ESMTPSA id C14561AA41 for ; Mon, 23 Nov 2020 20:20:17 -0800 (PST) From: Vagrant Cascadian To: bug-guix@gnu.org Subject: gnu/ci.go: Embeds build path, breaking reproducible builds Date: Mon, 23 Nov 2020 20:19:54 -0800 Message-ID: <87r1ojgzdh.fsf@yucca> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: none client-ip=173.255.214.101; envelope-from=vagrant@reproducible-builds.org; helo=cascadia.aikidev.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) --=-=-= Content-Type: text/plain Something in gnu/ci.scm is embedding the build path when compiled into gnu/ci.go, as can be seen: https://tests.reproducible-builds.org/debian/rb-pkg/experimental/amd64/diffoscope-results/guix.html ./usr/lib/x86_64-linux-gnu/guile/3.0/site-ccache/gnu/ci.go strings --all --bytes=8 {} Offset 85, 15 lines modified Offset 85, 15 lines modified ... 92 /build/1st/guix-1.2.0~rc2/gnu/ci.scm 92 /build/2/guix-1.2.0~rc2/2nd/gnu/ci.scm While guix builds of guix are typically built with a consistent build path, it would be nice to fix this issue for other environments where the build path may vary between builds. My *wild* guess is it maybe has something to do with the use of canonicalize-path: (define (find-current-checkout arguments) "Find the first checkout of ARGUMENTS that provided the current file. Return #f if no such checkout is found." (let ((current-root (canonicalize-path (string-append (dirname (current-filename)) "/..")))) (find (lambda (argument) (and=> (assq-ref argument 'file-name) (lambda (name) (string=? name current-root)))) arguments))) Either directly or indirectly... does canonicalize-path resolve at build time? run time? somewhere in-between? Or is this a red herring, and something else entirely is responsible? I'll let a competent schemer ponder this! :) Thanks for all your help! live well, vagrant --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCX7yJ6gAKCRDcUY/If5cW qlmmAQD+b4gNNqA6atRtAHhIqm5o4r5EqMgH/9uiGy4s5VsBpAD8CtYB6YkOAAsA K5sxn7qvHLyvpGepXa2VrrmtWHNTUgg= =zJG9 -----END PGP SIGNATURE----- --=-=-=-- ------------=_1709848082-16730-1--