Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Nov 2010 21:20:10 +0100
From:      Giorgos Keramidas <keramida@ceid.upatras.gr>
To:        Erik Cederstrand <erik@cederstrand.dk>
Cc:        Ulrich =?iso-8859-1?Q?Sp=F6rlein?= <uqs@spoerlein.net>, FreeBSD Hackers <hackers@freebsd.org>
Subject:   Re: Deterministic builds?
Message-ID:  <xeia1v6q2t1h.fsf@kobe.laptop>
In-Reply-To: <8B6E3E35-68AF-42ED-98CF-E2A4448DAA11@cederstrand.dk> (Erik Cederstrand's message of "Fri, 12 Nov 2010 15:13:36 %2B0100")
References:  <718D8E86-EA2E-4D07-BAFF-5D8D093FD296@cederstrand.dk> <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>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 12 Nov 2010 15:13:36 +0100, Erik Cederstrand <erik@cederstrand.dk> =
wrote:
> Den 22/10/2010 kl. 12.01 skrev Ulrich Sp=F6rlein:
>> Why do you make this a requirement? Of course it's usually easier to
>> build different releases from different source directories, but I think
>> requiring the following conditions are fine:
>>
>> 1. If you build a specific svn revision,
>> 2. sitting in /usr/src with
>> 3. the default make.conf (ie., no special flags, no frobbing of OBJDIR)
>> 4. at different times
>>
>> then you get the same binaries.
>>
>> Let's start with an achievable, not-so-intrusive goal, right? :)
>
>
> Ok, here's a new attempt with SRCDIR and OBJDIR constant between the two =
builds.
>
> This time, /boot/kernel/kernel, /boot/loader, /boot/pxeboot and
> /boot/zfsloader differ. According to strings(1), the only difference
> is the timestamp. E.g. the kernel:
>
> < @(#)FreeBSD 9.0-CURRENT #0 r215143: Thu Nov 11 22:58:34 CET 2010
> < FreeBSD 9.0-CURRENT #0 r215143: Thu Nov 11 22:58:34 CET 2010
> ---
>> @(#)FreeBSD 9.0-CURRENT #0 r215143: Thu Nov 11 23:29:17 CET 2010
>> FreeBSD 9.0-CURRENT #0 r215143: Thu Nov 11 23:29:17 CET 2010
>
> Since the SVN rev. is recorded, I think a timestamp is redundant. Any
> ideas where I can disable the timestamps in the source?

The timestamp is not 'redundant'.  It records _when_ you compiled the
sources of the kernel, which in itself is a useful bit of information.

We could probably get away with making it an option though, e.g. in
src.conf(5) something that defaults to 'yes':

    WITH_KERNEL_TIMESTAMP=3D'yes'

Then if it's the only remaining bit of information that changes between
two subsequent builds of precisely the same tree one can set it to 'no'
or overload it under WITH_REPEATABLE_BUILDS=3D'yes' or similar.

FYI, have a look at "src/conf/newvers.sh" for the place where this
information is gathered at kernel-build time.




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