From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vagrant Cascadian Newsgroups: gmane.lisp.guile.bugs Subject: bug#20272: Support reproducible builds Date: Mon, 23 Nov 2020 20:44:56 -0800 Message-ID: <87o8jngy7r.fsf@yucca> References: <87twws88hr.fsf@gnu.org> <87o8lcu1v8.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28561"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 20272@debbugs.gnu.org To: Maxim Cournoyer , Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Tue Nov 24 05:46:09 2020 Return-path: Envelope-to: guile-bugs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1khQDR-0007Jp-1f for guile-bugs@m.gmane-mx.org; Tue, 24 Nov 2020 05:46:09 +0100 Original-Received: from localhost ([::1]:40818 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khQDQ-00076H-3h for guile-bugs@m.gmane-mx.org; Mon, 23 Nov 2020 23:46:08 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38864) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khQDL-00075u-MD for bug-guile@gnu.org; Mon, 23 Nov 2020 23:46:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:40529) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1khQDK-0007R6-70 for bug-guile@gnu.org; Mon, 23 Nov 2020 23:46:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1khQDK-0002fu-3a for bug-guile@gnu.org; Mon, 23 Nov 2020 23:46:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Vagrant Cascadian Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 24 Nov 2020 04:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20272 X-GNU-PR-Package: guile X-GNU-PR-Keywords: patch Original-Received: via spool by 20272-submit@debbugs.gnu.org id=B20272.160619310710217 (code B ref 20272); Tue, 24 Nov 2020 04:46:02 +0000 Original-Received: (at 20272) by debbugs.gnu.org; 24 Nov 2020 04:45:07 +0000 Original-Received: from localhost ([127.0.0.1]:52075 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1khQCQ-0002ei-ST for submit@debbugs.gnu.org; Mon, 23 Nov 2020 23:45:07 -0500 Original-Received: from cascadia.aikidev.net ([173.255.214.101]:57562) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1khQCP-0002dt-Ki for 20272@debbugs.gnu.org; Mon, 23 Nov 2020 23:45:05 -0500 Original-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 9B1F71AA41; Mon, 23 Nov 2020 20:44:59 -0800 (PST) In-Reply-To: <87o8lcu1v8.fsf@gmail.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.io gmane.lisp.guile.bugs:9920 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 2020-10-08, Maxim Cournoyer wrote: > I've hit a .go non-reproducibility issue fairly trivially on > core-updates. I think it sufficed to change a core library file (e.g., > commit 7102c18678dc02d5ee6c77a9a70ae344482af841 which touched (guix > build utils)) and then attempting to build something with --rounds=3D2 > flagged it: > > --8<---------------cut here---------------start------------->8--- > ./pre-inst-env guix build --rounds=3D2 mit-krb5 -K --no-substitutes > > building /gnu/store/74fh18318l4f9zmkl3y3klyasnc1jqc2-module-import-compil= ed.drv... > building /gnu/store/40wzfd27s4i50rc1q86dqks986ff8fq2-module-import-compil= ed.drv... > building /gnu/store/dlzy98gvyddjg3zrv5f1l3nvgjvaxjmf-module-import-compil= ed.drv... > building /gnu/store/0i3sqm9cl2rbbikfas2y28wibnmqr1pa-module-import-compil= ed.drv... > [ 1/ 2] Loading './guix/build/utils.scm'... > [ 2/ 2] Compiling './guix/build/utils.scm'... > building /gnu/store/dlzy98gvyddjg3zrv5f1l3nvgjvaxjmf-module-import-compil= ed.drv... > building /gnu/store/40wzfd27s4i50rc1q86dqks986ff8fq2-module-import-compil= ed.drv... > output =E2=80=98/gnu/store/czbmygd6id8qk3bfb0rcjjkmpn5bh7f1-module-import= -compiled=E2=80=99 of =E2=80=98/gnu/store/dlzy98gvyddjg3zrv5f1l3nvgjvaxjmf-= module-import-compiled.drv=E2=80=99 differs from =E2=80=98/gnu/store/czbmyg= d6id8qk3bfb0rcjjkmpn5bh7f1-module-import-compiled-check=E2=80=99 from previ= ous round > build of /gnu/store/dlzy98gvyddjg3zrv5f1l3nvgjvaxjmf-module-import-compil= ed.drv failed > View build log at '/var/log/guix/drvs/dl/zy98gvyddjg3zrv5f1l3nvgjvaxjmf-m= odule-import-compiled.drv.bz2'. > --8<---------------cut here---------------end--------------->8--- I'm not *positive* this is the same issue, but disabling parallelism building the Debian package of guix appears to fix reproducibility of almost all of the .go files... (the one exception is gnu/ci.go embeds the build path, and just filed a bug for that: #44835) https://tests.reproducible-builds.org/debian/rb-pkg/experimental/i386/diffo= scope-results/guix.html Notice the somewhat arbitrary list of different gnu/packages/*.scm files and arbitrary order: ./usr/lib/i386-linux-gnu/guile/3.0/site-ccache/gnu/packages/admin.go strings --all --bytes=3D8 {} Offset 1402, 20 lines modified Offset 1402, 20 lines modified 1402 -4AI[4-AI[-4AI[ 1402 -4AI[4-AI[-4AI[ 1403 Guile=C2=B73.0.4 1403 Guile=C2=B73.0.4 1404 arguments 1404 arguments 1405 native-inputs 1405 native-inputs 1406 propagated-inputs 1406 propagated-inputs 1407 sunxi-tools-source 1407 sunxi-tools-source 1408 gnu/packages/admin.scm 1408 gnu/packages/admin.scm 1409 gnu/packages/aidc.scm 1409 gnu/packages/algebra.scm 1410 gnu/packages/algebra.scm 1410 gnu/packages/anthy.scm 1411 gnu/packages/anthy.scm 1411 gnu/packages/android.scm 1412 gnu/packages/android.scm 1412 gnu/packages/animation.scm=09=20 1413 gnu/packages/aidc.scm=09=20 1414 gnu/packages/agda.scm 1413 gnu/packages/agda.scm 1414 gnu/packages/adns.scm 1415 arguments 1415 arguments 1416 native-inputs 1416 native-inputs 1417 propagated-inputs 1417 propagated-inputs 1418 sunxi-tools-source 1418 sunxi-tools-source 1419 file-name 1419 file-name 1420 build-system 1420 build-system 1421 supported-systems 1421 supported-systems While building in serial rather than parallel is a significant slowdown, it seems like being able to build reproducibly might be worth the cost, at least for certain guix variants, such as the package used for guix-daemon... I'll likely disable parallel building for the next guix upload to Debian, at least. :) live well, vagrant --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCX7yPyAAKCRDcUY/If5cW qkdIAP49bmwNpjh2L95bZjVim7j3usQJqhg5pYSsc3Bn62T7OwD+KXCnSs096N/l XXDe7oqXnYrK95yhpxB06lc9IkdINwA= =1pfX -----END PGP SIGNATURE----- --=-=-=--