--- Begin Message ---
Subject: |
Support reproducible builds |
Date: |
Tue, 07 Apr 2015 13:48:16 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
Currently .go files embed randomly-generated symbols stemming from
‘syntax-session-id’, which prevents reproducible builds (see
<https://lists.gnu.org/archive/html/guix-devel/2013-09/msg00159.html>.)
One way to fix it would be to allow users to specify a random seed used
when generating session ids, and to make that available as a
command-line option to ‘guild compile’. (GCC does something similar
with its ‘-frandom-seed’ option.)
Probably, ‘syntax-session-id’ would have to be a SRFI-39 parameter and
we would need a ‘fresh-syntax-session-id’ procedure that would take a
seed as a parameter. In turn, ‘fresh_syntax_session_id’ would need to
take that extra argument, and it would need to be changed to not read
directly from /dev/urandom.
WDYT?
Ludo’.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#20272: Support reproducible builds |
Date: |
Tue, 07 Mar 2017 20:55:36 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
address@hidden (Ludovic Courtès) skribis:
> address@hidden (Ludovic Courtès) skribis:
>
>> With the attached patch I can build ‘stable-2.0’ with --rounds=2 and
>> there are no discrepancies.
>>
>> I’ll apply it next week if there are no objections.
>
> Pushed as 458ae248ab353af24e27b8fb3e5fe7a8b78ae219!
Applied as commit 84a740d86a5afd235f1b47ac66c88db010b1d56b in master (2.1).
I haven’t yet done a --rounds=2 build of master, but hopefully that’ll
be fine!
Ludo’.
--- End Message ---