HISTORICAL_MAKE_WORLD (was: cvs commit: src Makefile README)

John Baldwin jhb at freebsd.org
Fri Jun 9 12:54:26 UTC 2006


On Wednesday 07 June 2006 20:48, Greg 'groggy' Lehey wrote:
> On Wednesday,  7 June 2006 at 10:51:45 -0400, John Baldwin wrote:
> > On Tuesday 06 June 2006 23:33, Tom Rhodes wrote:
> >> trhodes     2006-06-07 03:33:48 UTC
> >>
> >>   FreeBSD src repository
> >>
> >>   Modified files:
> >>     .                    Makefile README
> >>   Log:
> >>   Simply running ``make world'' will bomb unless you dig up the
> >>   undocumented HISTORICAL_MAKE_WORLD variable and set it.  Note it
> >>   here so the blow up will not really be a surprise to people who
> >>   read.
> >
> > I thought the obfuscation was intentional as very few people should
> > be doing a 'make world' without a custom DESTDIR these days.
> 
> Then there's no reason not to document it.
> 
>   Warning: FORCE_ROOT_INSTALL can render your system unusable by
>   overwriting existing configuration files.  Do not use it unless you
>   are completely aware of the consequences.
> 
> And yes, a descriptive name like FORCE_ROOT_INSTALL, not
> HISTORICAL_MAKE_WORLD.

Describing it would subvert the intended obfuscation.

> > Certainly people new to FreeBSD shouldn't be doing it; only those
> > with the command hardwired into their brains.  We've had
> > buildworld/installworld since 2.2.5 (or 2.2.6) I think as I've only
> > had to do a 'make world' once to go from 2.2.2 to 2.2.6. :)
> 
> FWIW, that's when the rot set in IMO.  One of the nice things about
> FreeBSD *used* to be that to upgrade the system you just needed to do
> "make world".  Now you have a lot more work.
> 
> The only justification for this regression is that it's really
> difficult to get everything right.  But that's a bug, not a feature.

No, the justification is that 'make world' completely ignores the kernel and 
only handles userland, and an operating system is both a kernel and a 
userland and that users should update those together.  If you as a developer 
want to use make world you can either run the two commands back to back or 
you can put I_REALLY_KNOW_WHAT_IM_DOING_AND_WANT_TO_HOSE_MY_MACHINE in 
make.conf or something.  However, developers wanting to do this are in the 
_VAST_ minority and I'd much rather cater to the other 99% of the world.

-- 
John Baldwin


More information about the cvs-src mailing list