From owner-freebsd-arch@freebsd.org Fri Dec 4 02:00:19 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 17C87A369AE for ; Fri, 4 Dec 2015 02:00:19 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-lf0-x22d.google.com (mail-lf0-x22d.google.com [IPv6:2a00:1450:4010:c07::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B00E312D8; Fri, 4 Dec 2015 02:00:18 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by lfs39 with SMTP id 39so99383287lfs.3; Thu, 03 Dec 2015 18:00:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=zh31cq5kR+gZldZU9VHURNsP9Mmd3OSyYaJj2nJwX/g=; b=Ajb1vqiQqO8CfoK/SJBPtXvFHBLXNminMRPA10+DECO23MwK2L9DSqGtk3w8x2xxA7 PqHUNJ6AGLvwS51AgkuCQCJhJEtMwHnJc4oy/h3pUKtmVE9mKWM/ipZOgXx8uYDwKbu/ 4Werp18U0fbIojFQa2hwtjgxFUC/aBA4hsdDxdTYdQa54V7f9sEnRh2sv2rHw7r04cCi AlPdYbIG7x9LGBF6QbxHyTnMofp3K59UuYpxG8AmYNCOJf+gtWzSXF/41txocVSHV/5O iGwyO1FWsTyNueWCnaicRrGmsHjDQRyqoRW7Ncw2gm1eJ/lY4TCscZgHLIPRooqL3DJI 3rsA== MIME-Version: 1.0 X-Received: by 10.25.126.5 with SMTP id z5mr7157957lfc.112.1449194416608; Thu, 03 Dec 2015 18:00:16 -0800 (PST) Received: by 10.112.219.9 with HTTP; Thu, 3 Dec 2015 18:00:16 -0800 (PST) In-Reply-To: References: Date: Thu, 3 Dec 2015 18:00:16 -0800 Message-ID: Subject: Re: Removing build metadata, for reproducible kernel builds From: NGie Cooper To: Ed Maste Cc: Warner Losh , "freebsd-arch@freebsd.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.20 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: Fri, 04 Dec 2015 02:00:19 -0000 On Dec 2, 2015, at 23:55, Ed Maste wrote: On 3 December 2015 at 05:51, Warner Losh wrote: I noted in the review that I don=E2=80=99t like the default being no. I also don=E2=80=99t like that we=E2=80=99re growing lots of different knob= s that need to be set to get a repeatable build. Let=E2=80=99s have one, or barring tha= t, let=E2=80=99s have one that sets all the sub-knobs. My hope is that we'll have a reproducible build by default, and that *no* knobs need to be set. That's what I intend with my patch. I can rename the knob to WITH_/WITHOUT_REPRODUCIBLE_BUILD though if that's generally desired. If there's a consensus to default to including the metadata I'm fine with setting it in make release. I think that host and path are more worthless than date and time in many environments. Who builds it likewise. Those are all things that are likely to change between builds, yet change the kernel image. I=E2=80=99d rather see it all gone when this option is in effect. I don't follow -- other than the build iteration number (which I indeed missed), it is all gone. I personally like being able to debug when user A builds on machine X vs user B on machine Y =E2=80=94 because it's helped me find issues with peopl= es=E2=80=99 build environments in the past where I could have ended up pulling teeth. I think the single-knob src.conf knob approach is wrong though. Why not document how to do it with build(7) and tweak newvers.sh to do this (which drives this to begin with)? That would generalize the solution, accomplish this goal, and help $work accomplish this goal, because right now we ($work) hack newvers.sh in order to change the version information to brand the product appropriately, instead of build upon existing infrastructure, as the existing infrastructure is not flexible/documented/static. Thanks, -NGie