misc/185480: WORLDTMP first in PATH during installworld
Nathan Dorfman
na at rtfm.net
Sun Jan 5 21:10:01 UTC 2014
The following reply was made to PR misc/185480; it has been noted by GNATS.
From: Nathan Dorfman <na at rtfm.net>
To: Brooks Davis <brooks at freebsd.org>
Cc: freebsd-gnats-submit at freebsd.org
Subject: Re: misc/185480: WORLDTMP first in PATH during installworld
Date: Sun, 5 Jan 2014 16:03:24 -0500
Thanks for the explanation. That just leaves one question: why are we
bothering to create and populate ${INSTALLTMP}? Under normal
circumstances, where ${WORLDTMP} exists, it doesn't seem to be used.
In fact, it's missing the 'strip' binary, but it doesn't make a
difference until I come along and try to run without ${WORLDTMP}...
As for the rest, if the process is unsupported, then I guess I will
stop doing it :) ... but I'd just like to state for the record that it
seems to work perfectly fine here, after these workarounds. I think
it's also possible to have a "correct" solution, by using the freshly
built world instead of ${WORLDTMP} when ${MACHINE_ARCH} says so. If
there is any interest at all, I can get that working and submit a
patch.
On Sun, Jan 5, 2014 at 2:30 PM, Brooks Davis <brooks at freebsd.org> wrote:
> I believe that WORLDTMP is first the path to allow new versions of tools
> to be used in the install process. It's critical that we do this or we
> could only use new tool features after multiple major releases.
>
> It is not supported to build on one system and install on another. It
> could be, but it isn't now. Apparently it's never been a high enough
> priority for anyone, probably because there are plenty of workaround.
>
> The simplest workaround is to just do an installworld to some arbitrary
> DESTDIR, tar up the result, remove schg flags on the target with
> "chflags -R noschg /", and extracting the tarball. With the -DNO_ROOT
> feature I added to the install targets a while back this is easily
> accomplished even without root access on the build system. Just do
> installworld with -DNO_ROOT and then use ${DESTDIR}/METALOG as the input
> to tar.
>
> -- Brooks
More information about the freebsd-bugs
mailing list