Date: Tue, 05 Jun 2018 19:50:23 -0700 From: "Chris H" <bsd-lists@BSDforge.com> To: "Benjamin Kaduk" <kaduk@mit.edu> Cc: "freebsd-current@freebsd.org>" <freebsd-current@freebsd.org>, "Rick Macklem" <rmacklem@uoguelph.ca> Subject: Re: how do I use the make universe machines? Message-ID: <e81f66cb85892c83202113af451d275b@udns.ultimatedns.net> In-Reply-To: <20180606011218.GA72167@kduck.kaduk.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 5 Jun 2018 20:12:18 -0500 "Benjamin Kaduk" <kaduk@mit=2Eedu> said > On Wed, Jun 06, 2018 at 12:47:17AM +0000, Rick Macklem wrote: > > I've heard mention of "make universe" machines multiple times, > > but have no idea how to use them? > > Is there doc on this? > >=20 > > Thanks, rick > > ps: I'll admit I haven't looked at the developer's guide in a long time= =2E >=20 > I think https://www=2Efreebsd=2Eorg/internal/machines=2Ehtml sounds like > the page you're looking for=2E (universe is just a top-level make > target like buildworld, but will take a while on non-beefy > hardware=2E) >=20 > -Ben I was surprised to discover there was no mention in /usr/src/UPDATING, nor /usr/src/README=2E So in case anyone might be wondering; /usr/src/Makefile # universe - *Really* build *everything* (buildworld and # all kernels on all architectures)=2E # tinderbox - Same as universe, but presents a list of failed bui= ld # targets and exits with an error if there were any=2E following, an excerpt by Allan Jude (FreeBSD developer && bsdnow=2Etv): Testing is Tricky and Rigorous, so FreeBSD Came Out with the Universe Build Further complicating things, ZFS has its own upstream repo with its own rul= es and testing requirements: e=2Eg=2E, a pull request has to be in a ZFS-running operating system like FreeBSD or Linux and used in production for a minimum= of three months before actually being committed=2E =E2=80=9CThe ZFS repo has to be in production quality at all times,= =E2=80=9D Allan elaborated=2E =E2=80=9CFreeBSD itself has a test suite, a set of regression tests, and th= en continuous integration with Jenkins=2E=E2=80=9D The trick there is the multiple platform= conundrum=2E You make a commit, the code is seemingly perfect, but then you realize you = only know how it runs on your x86 hardware=2E Maybe its functionality on ARM is a different story=2E =E2=80=9CWe have this concept called the Universe Build where you build Fre= eBSD for every different processor environment that=E2=80=99s supported,=E2=80=9D Al= lan shared=2E That way no matter how well it works on your system, you also know it=E2=80=99ll wor= k for everyone else=2E As is to be expected, Allan told us the Universe Build can take a while to develop to perfection =E2=80=94 =E2=80=9Cespecially if you don=E2=80=99t ha= ve all the hardware, but the FreeBSD Foundation provides servers to the developers of the project=2E= =E2=80=9D So thankfully, they=E2=80=99ve got access to really big servers, some 36 cores= , and a boat load of RAM=2E =E2=80=9CIf you had to do a Universe Build on your laptop, it = might take a day and a half,=E2=80=9D Allan added, with a laugh=2E --Chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e81f66cb85892c83202113af451d275b>