HISTORICAL_MAKE_WORLD (was: cvs commit: src Makefile README)
Tom Rhodes
trhodes at FreeBSD.org
Sat Jun 10 00:38:16 UTC 2006
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?
--
Tom Rhodes
%cvs diff -u Makefile
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/Makefile,v
retrieving revision 1.332
diff -u -r1.332 Makefile
--- Makefile 7 Jun 2006 03:33:48 -0000 1.332
+++ Makefile 10 Jun 2006 00:32:28 -0000
@@ -196,6 +196,9 @@
@echo "--------------------------------------------------------------"
@echo ">>> make world completed on `LC_ALL=C date`"
@echo " (started ${STARTTIME})"
+ @echo "If this source is different than the version of FreeBSD"
+ @echo "running, build and install a new kernel or there will be"
+ @echo "problems."
@echo "--------------------------------------------------------------"
.else
world:
More information about the cvs-src
mailing list