HISTORICAL_MAKE_WORLD (was: cvs commit: src Makefile README)
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
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.
More information about the cvs-src