[erlang-questions] Feedback wanted: Remove compilation times from BEAM files in OTP 19?

Jesper Louis Andersen jesper.louis.andersen@REDACTED
Sat Apr 9 14:35:49 CEST 2016


On Sat, Apr 9, 2016 at 12:45 PM, Joe Armstrong <erlang@REDACTED> wrote:

> I think we need repeatable builds so that if we compile the same
> module several timeswith the same macros and library versions we
> should get
> a bit identical beam file (so we can hash the beam content and use the hash
> as the key in a version control system)
>

Other valuable things you can do:

* Catch compilers which have been built incorrectly or are executing on
faulty hardware
* Verify that two different compiler installations are the same. Sometimes
this can lead to situations where you are hunting a bug only to learn later
different compilers are used
* Catch maliciously altered compilers

The same model is what drives BitTorrent. A BitTorrent file is essentially
a map:

#{ info => ..., trackers => [{tracker, ...}, ...] }

The "infohash" is the SHA1 checksum of the "info" block, but certain parts
are left out of that block, notably the tracker list. It allows operators
to alter the tracker list and add their own tracker, without changing the
content of the torrent file. In other words, integrity is provided where it
matter, but freedom is given to alter the parts around the
integrity-protected parts if necessary.


-- 
J.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160409/90ee7474/attachment.htm>


More information about the erlang-questions mailing list