Subject: bug#20272: closed (Re: bug#20272: Support reproducible builds)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 07 Mar 2017 19:57:02 +0000

Your bug report

#20272: Support reproducible builds

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
20272: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20272
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#20272: Support reproducible builds
From: [email-masked] (Ludovic Courtès)
To: Jan Nieuwenhuizen <[email-masked]>
Cc: [email-masked], Mark H Weaver <[email-masked]>, Andy Wingo <[email-masked]>
Date: Tue, 07 Mar 2017 20:55:36 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

[email-masked] (Ludovic Courtès) skribis:

> [email-masked] (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’.

Subject: Support reproducible builds
From: [email-masked] (Ludovic Courtès)
To: [email-masked]
Cc: Mark H Weaver <[email-masked]>
Date: Tue, 07 Apr 2015 13:48:16 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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’.