On Fri, 21 Feb 2003, Ruslan Ermilov wrote:
> On Fri, Feb 21, 2003 at 09:01:55AM -0600, Jacques A. Vidrine wrote:
> > The problem is that touch is not in the path during `make release' (at
> > some point the path includes only stuff in /usr/obj/usr/src/i386/...),
> > so you get
> > ``touch: not found''
> > fairly early.
> > If you give me time, I will reproduce and send you the logs when I'm
> > done with some more urgent issues.
> Ah, that! This I saw often during the initial (native) "make
> installworld", as the first step of "make release", if you
> forgot to rebuild your world before running ``make release'',
> or your sources have changed in between. Then installworld
> is trying to do something that was supposed to be already done
> by buildworld. ``touch'' is not used during install, and
> during build PATH always includes /usr/bin. So the only
> scenario for ``touch: not found'' is during install where
> it _should not_ be used. And this is the problem with your
> build environment, most likely a forgotten buildworld or
> wrong date/time (system or modification date of sources).
The object tree should be readonly while installing. Mounting it
readonly is too hard to configure in general, but making it immutable
is efficient enough at least for testing:
"chflags -R schg /usr/obj/; sync; chflags -R noschg /usr/obj/" starting
with a cold disk cache takes about 0.75 of makeworld time here (12
seconds for schg including warming the cache, 3.5 seconds for noschg
(all metadata stays cached), and 2000 seconds for makeworld).
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-src" in the body of the message