guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [v3] Erlang


From: Leo Famulari
Subject: Re: [v3] Erlang
Date: Sun, 3 Apr 2016 23:39:24 -0400
User-agent: Mutt/1.5.24 (2015-08-30)

On Sun, Apr 03, 2016 at 11:26:48PM +0200, Ludovic Courtès wrote:
> Leo Famulari <address@hidden> skribis:
> > All the .beam files have timestamps and build paths embedded [0]. This
> > is a known issue without a clear solution. The build paths don't seem so
> > bad to me, since my understanding is that they are set deterministically
> > by the Guix builder.

> A patch along the lines of the one of the page above should do the work
> for beam files, no?  We’d have to change DEB_BUILD_DATE to
> SOURCE_DATE_EPOCH, and remove regexp-matching from there.

There is a more generic patch applied to the actual Debian package [0],
and I've applied it to ours in the attached revision. It will allow us
to build Erlang packages without the timestamp. Unfortunately, it seems
to have no effect when building Erlang itself.

> > There are also some .script files that also embed timestamps in a human
> > readable string. Grepping for the string makes it easy to find the
> > source of this. We could patch the timestamp format string with the
> > value of SOURCE_DATE_EPOCH.

Debian's package exhibits this problem. The timestamps are generated in
the following places in the source code. I don't know how to approach
this problem.

lib/kernel/test/global_SUITE_data/global_trace.erl:    io:format("The trace was 
generated at ~p~n", [EndTime]),
lib/reltool/bin/reltool.escript:    lists:flatten(io_lib:format("%% ~s 
generated at ~w ~w\n~p.\n\n",
lib/reltool/src/reltool_server.erl:    IoList = io_lib:format("%% config 
generated at ~w ~w\n~p.\n\n",
lib/reltool/src/reltool_target.erl:    RelIoList = io_lib:format("%% rel 
generated at ~w ~w\n~p.\n\n",
lib/reltool/src/reltool_target.erl:    ScriptIoList = io_lib:format("%% script 
generated at ~w ~w\n~p.\n\n",
lib/reltool/src/reltool_target.erl:            AppIoList = io_lib:format("%% 
app generated at ~w ~w\n~p.\n\n",
lib/reltool/src/reltool_target.erl:            AppIoList = io_lib:format("%% 
app generated at ~w ~w\n~p.\n\n",
lib/runtime_tools/src/erts_alloc_config.erl:    "generated at ~w-~2..0w-~2..0w 
~2..0w:~2..0w.~2..0w by "
lib/sasl/src/systools_make.erl:     io:format(Fd, "%% script generated at ~w 
~w\n~p.\n",
lib/wx/src/gen/gl.erl:%% The program object's information log is updated and 
the program is generated at the time

[0]
https://sources.debian.net/src/erlang/1:18.3-dfsg-1/debian/patches/reproducible-build.patch/

Attachment: 0001-gnu-Add-erlang.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]