Skip site navigation (1)Skip section navigation (2)
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>