Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Nov 2010 13:50:21 +0100
From:      keramida@freebsd.org (Giorgos Keramidas)
To:        Erik Cederstrand <erik@cederstrand.dk>
Cc:        Tom Evans <tevans.uk@googlemail.com>, FreeBSD Hackers <hackers@freebsd.org>, Dimitry Andric <dim@freebsd.org>
Subject:   Re: Deterministic builds?
Message-ID:  <xeiatyjipx82.fsf@kobe.laptop>
In-Reply-To: <5C879D3B-B8B8-4F58-B644-D43DCB674DA5@cederstrand.dk> (Erik Cederstrand's message of "Mon, 15 Nov 2010 12:56:29 %2B0100")
References:  <20101011084733.GM2392@deviant.kiev.zoral.com.ua> <95F3B27C-42E6-4267-9965-AC3219310C35@cederstrand.dk> <20101021175748.GD19295@acme.spoerlein.net> <C297DE8F-0842-41C2-A930-A15AA0F3B3BB@cederstrand.dk> <20101022100134.GL19295@acme.spoerlein.net> <8B6E3E35-68AF-42ED-98CF-E2A4448DAA11@cederstrand.dk> <xeia1v6q2t1h.fsf@kobe.laptop> <0CF7C325-E7D9-4C51-8E60-9A0243D2FFFE@cederstrand.dk> <4CE04750.8060802@FreeBSD.org> <1B779A27-D8AD-4479-AC43-7F5557B720D4@cederstrand.dk> <20101114211334.GG64243@acme.spoerlein.net> <AANLkTimfcpT%2BiN%2BE7DBPezn02qJNb%2Bt2FXcjBd1o1U41@mail.gmail.com> <5C879D3B-B8B8-4F58-B644-D43DCB674DA5@cederstrand.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-=
Content-Type: text/plain

On Mon, 15 Nov 2010 12:56:29 +0100, Erik Cederstrand <erik@cederstrand.dk> wrote:
>Den 15/11/2010 kl. 12.40 skrev Tom Evans:
>> The important things for us are that given a binary, you should be
>> able to easily reproduce the source environment that the binary was
>> produced from, and any two binaries produced from the same sources
>> should be identical.
>
> I'm leaning towards not even recording the svn rev. within the binary. A
> commit only changing comments or style(9) would not change the bits of
> the binary, but the differing revision number would. A solution could be
> to have an external file, e.g. /etc/kernel-buildinfo and
> /etc/world-buildinfo, containing the output of "svn stat", "svn diff",
> src.conf, make.conf, SRCDIR and OBJDIR locations, the full
> buildworld/kernel command and whatever else could affect the build
> outcome.

A few other things that may affect the binaries produced are:

  * Runtime shell environment (CFLAGS etc.)
  * make -j JOBS count
  * the value of -frandom-seed=STRING (see NetBSD's build.sh script and
    `3.9 Options for Debugging Your Program or GCC' in the gcc.info docs)

If we are to record all these in the resulting binary snapshot of build
output, then it may be possible to fully reproduce the *exact* set of
binaries from a given source tree, but 'perfect' may be the enemy of the
good-enough solution.


--=-=-=
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAkzhLI0ACgkQ1g+UGjGGA7YisQCeNSDkhDwxprXLQHuj2uaCkTtK
/a0An3PJKeYBac4+vm+pRinbBA4dLoqc
=dLZJ
-----END PGP SIGNATURE-----
--=-=-=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xeiatyjipx82.fsf>