HISTORICAL_MAKE_WORLD (was: cvs commit: src Makefile README)

John Baldwin jhb at freebsd.org
Mon Jun 12 13:28:24 UTC 2006


On Friday 09 June 2006 20:38, Tom Rhodes wrote:
> On Fri, 9 Jun 2006 08:53:47 -0400
> John Baldwin <jhb at freebsd.org> wrote:
> 
> > 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.
> 
> Hmmm.  Perhaps a warning like this and then kill the
> HISTORICAL_MAKE_WORLD target and related docs?

This warning is too late, you might already have a hosed system at this 
point. :)

-- 
John Baldwin


More information about the cvs-all mailing list