Re: Enabling the WITH_REPRODUCIBLE_BUILD knob for 12.0-REL

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Mon, 10 Sep 2018 10:10:34 -0700
On 9/10/18 9:51 AM, Rodney W. Grimes wrote:
>> The FreeBSD base system is a reproducible build[1] with a minor
>> exception: the build metadata (timestamps, user, hostname, etc.)
>> included in the kernel and loader.
>>
>> With the default, non-reproducible build the kernel ident looks like:
>>
>> FreeBSD 12.0-ALPHA5 #4 r338195: Mon Jan 1 10:11:12 EDT 2018
>>    user_at_hostname:/path/to/freebsd/src
>>
>> and the loader ident:
>>
>> FreeBSD/amd64 EFI loader, Revision 1.1
>> (Mon Jan 1 10:11:12 EDT 2018 user_at_hostname)
>>
>> With reproducible builds enabled the kernel ident looks like:
>>
>> FreeBSD 12.0-ALPHA5  r338195
>>
>> and the loader ident:
>>
>> FreeBSD/amd64 EFI loader, Revision 1.1
>>
>> I would like to enable the REPRODUCIBLE_BUILD knob by default for the
>> 12.0 release, and propose we do this by adding a step to switch the
>> default to the list of changes[2] that re_at_ commits to the branch as
>> part of the release process.
> 
> Why not just turn this on and leave it on?

For kernels not built against a pristine tree the extra info is useful to
have.  For better or worse, kgdb also parses the path to try to find
kernel.full (used by e.g. 'kgdb -n last'), so if you remove the path it
won't be able to find the matching kernel using its current logic.
crashinfo uses different logic so will still work fine (crashinfo looks
for all the things matching /boot/*/kernel and tries them all until it finds
a match).

-- 
John Baldwin

                                                                            
Received on Mon Sep 10 2018 - 15:10:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:18 UTC