From owner-svn-src-head@FreeBSD.ORG Sun Jun 14 22:56:51 2015 Return-Path: Delivered-To: svn-src-head@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8E7332A9; Sun, 14 Jun 2015 22:56:51 +0000 (UTC) (envelope-from crodr001@gmail.com) Received: from mail-yh0-x233.google.com (mail-yh0-x233.google.com [IPv6:2607:f8b0:4002:c01::233]) (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 488C396B; Sun, 14 Jun 2015 22:56:51 +0000 (UTC) (envelope-from crodr001@gmail.com) Received: by yhak3 with SMTP id k3so31916040yha.2; Sun, 14 Jun 2015 15:56:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=kWDfLF3pe/mo9TVKdmVM3dp0QYvrl2BzRl0dKxy63/Q=; b=eEwlxPtLGD1LIEoQ3GFIXYpOdREtwOQD/YFWlZwOc0MDaAcoAyyfC2DDpHmxlNk40k aB9ctcG6gRDHNAGreiiH4ohg1jdZtXAbzUpGj1YhAlPRCsetm1DLlVQ2JFHjeLLLi9Z2 klOg1fvnQH5zTJdWxKYeDPUcvJ9v0JSH9g8epdDNWgRaLyyMCNeiwJ17F0sOR32vZoZB trC4jZc+y7N5ycmewgf/oVJpqFm4YuMD6y42W277ddZv0ImJofoUejOUAH0xaqLva2K2 o6eMq6M97VtZfiO+av4NX0qjZYSa9KqSITxMe+LFeZ6y6lVtH/kq5bQp3LPRAX/cx9v4 Se4A== MIME-Version: 1.0 X-Received: by 10.129.60.12 with SMTP id j12mr6647703ywa.90.1434322610177; Sun, 14 Jun 2015 15:56:50 -0700 (PDT) Sender: crodr001@gmail.com Received: by 10.37.39.130 with HTTP; Sun, 14 Jun 2015 15:56:50 -0700 (PDT) In-Reply-To: References: <201506131920.t5DJKwMH033508@svn.freebsd.org> <24490.1434318198@chaos> Date: Sun, 14 Jun 2015 15:56:50 -0700 X-Google-Sender-Auth: da6WsaX5wp62J6tncEnqjVyu9gU Message-ID: Subject: Re: svn commit: r284345 - in head: . bin/cat bin/chflags bin/chio bin/chmod bin/cp bin/csh bin/date bin/dd bin/df bin/domainname bin/echo bin/ed bin/expr bin/freebsd-version bin/getfacl bin/hostname bi... From: Craig Rodrigues To: Adrian Chadd Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2015 22:56:51 -0000 On Sun, Jun 14, 2015 at 3:37 PM, Adrian Chadd wrote: > Hi, > > I'm happy for this to be your baby and see how it all pans out in the > tree, but I thought we as a project learnt some lessons about checking > in autogenerated files. > > Well, I would like to give Simon the benefit of the doubt here. When I worked at Juniper, I worked first with John Birrell on the early jbuild prototype, and later with Simon on the bmake + meta-mode work. Simon gave this presentation + video on meta-mode at BSDCan 2014: http://www.bsdcan.org/2014/schedule/track/Hacking/460.en.html I gave this preso on jbuild at BSDCan 2010: https://www.bsdcan.org/2010/schedule/events/198.en.html Inside Juniper, there were concerns expressed about checking in generated dependency files. I'm seeing the same concerns expressed by the FreeBSD community. :) It turns out that checking in the dependency files was the right way to go. This has been battle tested inside Juniper, and it does work....I've seen it. It turns out that running a dependency generation step at the beginning of the build takes a long time. When you are building something on the scale of an operating system, like FreeBSD, or something even huger, like JUNOS, this takes a non-trivial amount of time, and gets worse as the size of the code grows. Checking in the dependencies allows you to do some pretty amazing stuff with the build, especially when you start integrating manifests and packaging of the base system. Now I will agree with Adrian on a couple of points: (1) For the initial go around, if Simon babysits the Makefile.depend files in HEAD that would be OK. They are turned off by default anyways. (2) In the long run, having better documentation, tooling and procedures to update the Makefile.depend files will be definitely needed. Using automation systems like Jenkins would definitely help, but that's not the only way to do things. -- Craig