Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Jun 2015 15:56:50 -0700
From:      Craig Rodrigues <rodrigc@FreeBSD.org>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>,  "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,  "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
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...
Message-ID:  <CAG=rPVfR6s8cfUQROkSgm0dTApL2vaJJ4%2B%2BLgLyerVdQLDj22A@mail.gmail.com>
In-Reply-To: <CAJ-Vmo=D983y_0-X7ubf0Z4Q9iTq6dRDKyQqVFdx37soEj-DQQ@mail.gmail.com>
References:  <201506131920.t5DJKwMH033508@svn.freebsd.org> <E1583BE3-F407-4590-85F1-EAD9B6B7FED5@FreeBSD.org> <24490.1434318198@chaos> <CAJ-Vmo=D983y_0-X7ubf0Z4Q9iTq6dRDKyQqVFdx37soEj-DQQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jun 14, 2015 at 3:37 PM, Adrian Chadd <adrian@freebsd.org> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG=rPVfR6s8cfUQROkSgm0dTApL2vaJJ4%2B%2BLgLyerVdQLDj22A>