From owner-freebsd-arch@freebsd.org Wed Dec 2 20:04:00 2015 Return-Path: Delivered-To: freebsd-arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 506D4A3F0B8 for ; Wed, 2 Dec 2015 20:04:00 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.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 2E882187E; Wed, 2 Dec 2015 20:04:00 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id C4197B979; Wed, 2 Dec 2015 15:03:58 -0500 (EST) From: John Baldwin To: freebsd-arch@freebsd.org Cc: Ed Maste Subject: Re: Removing build metadata, for reproducible kernel builds Date: Wed, 02 Dec 2015 12:03:07 -0800 Message-ID: <1920964.NJpSim6qZF@ralph.baldwin.cx> User-Agent: KMail/4.14.3 (FreeBSD/10.2-STABLE; KDE/4.14.3; amd64; ; ) In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Wed, 02 Dec 2015 15:03:58 -0500 (EST) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Dec 2015 20:04:00 -0000 On Wednesday, December 02, 2015 05:36:52 PM Ed Maste wrote: > The main issue currently preventing kernel builds from being > reproducible[1] is the build metadata itself that's included (time, > user, host, build path). In order to make the kernel build > reproducible I plan to remove these by default, and add a src.conf > knob to enable them for developers who want them in their own builds. > > The user-facing effect of this is that the kern.version sysctl no > longer conveys this information, and uname -a changes from something > like: > > FreeBSD ref11-amd64.freebsd.org 11.0-CURRENT FreeBSD 11.0-CURRENT #0 > r288681: Mon Oct 5 01:40:11 UTC 2015 > peter@build-11.freebsd.org:/usr/obj/usr/src/sys/CLUSTER11 amd64 > > to something like: > > FreeBSD feynman 10.2-STABLE FreeBSD 10.2-STABLE #44 > r288174+7644546(stable-10) amd64 > > The current version of the change is available for review at > https://reviews.freebsd.org/D4347. > > [1] See https://reproducible-builds.org/ for more information on the > reproducible builds project. As I noted in the review, this will break kgdb -n (and possibly crashinfo, less certain about that). Keeping the path (which should not vary if you build out of the same tree) will be sufficient to let kgdb -n still work (though it may need some changes to recognize both formats). Keeping the path also means that 'uname -a' still tells you which kernel config you are running (I assume you aren't changing 'uname -i', but 'uname -a' doesn't include 'uname -i'). -- John Baldwin