From owner-freebsd-current@freebsd.org Mon Sep 10 17:10:39 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 DA9741096418 for ; Mon, 10 Sep 2018 17:10:39 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) (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 920FE8BF2E; Mon, 10 Sep 2018 17:10:39 +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 B710410AFD2; Mon, 10 Sep 2018 13:10:32 -0400 (EDT) Subject: Re: Enabling the WITH_REPRODUCIBLE_BUILD knob for 12.0-REL To: "Rodney W. Grimes" , Ed Maste References: <201809101651.w8AGpBDl078811@pdx.rh.CN85.dnsmgr.net> Cc: FreeBSD Current From: John Baldwin Message-ID: <236dc4bb-956a-a103-9f59-a3492d9866f3@FreeBSD.org> Date: Mon, 10 Sep 2018 10:10:34 -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: <201809101651.w8AGpBDl078811@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 13:10: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 17:10:40 -0000 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. 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