From owner-freebsd-hackers@FreeBSD.ORG Mon Nov 15 12:50:45 2010 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82E99106577C for ; Mon, 15 Nov 2010 12:50:45 +0000 (UTC) (envelope-from keramida@ceid.upatras.gr) Received: from igloo.linux.gr (igloo.linux.gr [62.1.205.36]) by mx1.freebsd.org (Postfix) with ESMTP id D2D948FC1D for ; Mon, 15 Nov 2010 12:50:44 +0000 (UTC) X-Spam-Status: No X-Hellug-MailScanner-From: keramida@ceid.upatras.gr X-Hellug-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-2.9, required 5, autolearn=not spam, ALL_TRUSTED -1.00, BAYES_00 -1.90) X-Hellug-MailScanner: Found to be clean X-Hellug-MailScanner-ID: oAFCoQFm031452 Received: from gkeramidas-glaptop.linux.gr ([74.125.57.36]) (authenticated bits=0) by igloo.linux.gr (8.14.3/8.14.3/Debian-9.4) with ESMTP id oAFCoQFm031452 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 15 Nov 2010 14:50:32 +0200 From: keramida@freebsd.org (Giorgos Keramidas) To: Erik Cederstrand References: <20101011084733.GM2392@deviant.kiev.zoral.com.ua> <95F3B27C-42E6-4267-9965-AC3219310C35@cederstrand.dk> <20101021175748.GD19295@acme.spoerlein.net> <20101022100134.GL19295@acme.spoerlein.net> <8B6E3E35-68AF-42ED-98CF-E2A4448DAA11@cederstrand.dk> <0CF7C325-E7D9-4C51-8E60-9A0243D2FFFE@cederstrand.dk> <4CE04750.8060802@FreeBSD.org> <1B779A27-D8AD-4479-AC43-7F5557B720D4@cederstrand.dk> <20101114211334.GG64243@acme.spoerlein.net> <5C879D3B-B8B8-4F58-B644-D43DCB674DA5@cederstrand.dk> Date: Mon, 15 Nov 2010 13:50:21 +0100 In-Reply-To: <5C879D3B-B8B8-4F58-B644-D43DCB674DA5@cederstrand.dk> (Erik Cederstrand's message of "Mon, 15 Nov 2010 12:56:29 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" Cc: Tom Evans , FreeBSD Hackers , Dimitry Andric Subject: Re: Deterministic builds? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Nov 2010 12:50:45 -0000 --=-=-= Content-Type: text/plain On Mon, 15 Nov 2010 12:56:29 +0100, Erik Cederstrand 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----- --=-=-=--