[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/
0001-gnu-Add-erlang.patch
Description: Text Data
- Re: [v2 0/1] Erlang, Pjotr Prins, 2016/04/01
- Re: [v2 0/1] Erlang, Leo Famulari, 2016/04/01
- Re: [v2 0/1] Erlang, Ludovic Courtès, 2016/04/03
- Re: [v3] Erlang,
Leo Famulari <=
- Re: [v3] Erlang, Pjotr Prins, 2016/04/04
- Re: [v3] Erlang, Leo Famulari, 2016/04/04
- Re: [v3] Erlang, Leo Famulari, 2016/04/04
- Re: [v3] Erlang, Pjotr Prins, 2016/04/04
- Re: [v3] Erlang, Pjotr Prins, 2016/04/05
- Re: [v3] Erlang, Leo Famulari, 2016/04/05
- Re: [v3] Erlang, Pjotr Prins, 2016/04/09
- Re: [v3] Erlang, Pjotr Prins, 2016/04/04