From owner-freebsd-current@freebsd.org Mon Sep 10 21:36:34 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DF8EA109CDB1 for ; Mon, 10 Sep 2018 21:36:34 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7D03B7727F; Mon, 10 Sep 2018 21:36:34 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-2.local (ralph.baldwin.cx [66.234.199.215]) by mail.baldwin.cx (Postfix) with ESMTPSA id 09F2C10B681; Mon, 10 Sep 2018 17:36:32 -0400 (EDT) Subject: Re: Enabling the WITH_REPRODUCIBLE_BUILD knob for 12.0-REL To: "Rodney W. Grimes" References: <201809101755.w8AHt0Yo079063@pdx.rh.CN85.dnsmgr.net> Cc: Ed Maste , FreeBSD Current From: John Baldwin Message-ID: <97710a3f-7b5c-af12-3e22-027904ef8b92@FreeBSD.org> Date: Mon, 10 Sep 2018 14:36:31 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <201809101755.w8AHt0Yo079063@pdx.rh.CN85.dnsmgr.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Mon, 10 Sep 2018 17:36:33 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2018 21:36:35 -0000 On 9/10/18 10:55 AM, Rodney W. Grimes wrote: >> 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@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@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@ 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. > > So this means stable/12 users would have hassles getting kgdb to work? No, this means that if you turn this option on in HEAD and leave it always on (as I read your mail to say), then it would be a hassle for developers on head. On stable branches it would be nice to keep the info if people are building kernels that aren't stock kernels (meaning modified source trees). For release kernels, crashinfo should work fine though even with the extra information stripped. For release builds the information is not really useful, it's only ever useful if someone is building their own kernel for some reason (and even in some of those cases it isn't all that useful). -- John Baldwin