Date: Thu, 21 Feb 2002 11:07:10 +0200 From: Ruslan Ermilov <ru@FreeBSD.org> To: Daniel Frazier <dfrazier@magpage.com>, stable@FreeBSD.org Cc: Bruce Evans <bde@FreeBSD.org>, Marcel Moolenaar <marcel@FreeBSD.org>, Peter Wemm <peter@FreeBSD.org> Subject: Re: src upgrade 4.0-RELEASE to 4-STABLE fails on make installworld... Message-ID: <20020221090710.GB13262@sunbay.com> In-Reply-To: <3C73EC1B.9080100@magpage.com> References: <3C73D7C2.3000502@magpage.com> <20020220181526.GB49599@sunbay.com> <3C73EC1B.9080100@magpage.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Feb 20, 2002 at 01:34:03PM -0500, Daniel Frazier wrote:
[...]
>
> I was upgrading to yesterday's 4-STABLE. The second time I cvsup'd was
> around 1500 GMT and I used RELENG_4 in my supfile. Sorry, thought I had
> made that clear...
>
> did that too. Here's the steps I took:
>
> 1. A while back I installed 4.0-RELEASE and sorta forgot about the box for
> a while.
> 2. yesterday I cvsup'd using RELENG_4_1_1_RELEASE
> 3. started a make buildworld
> 3. read the post "4.0-RELEASE -> 4.5-STABLE now possible..."
> 4. killed the make buildworld
> 5. cvsup'd using RELENG_4
> 6. make buildworld
> 7. make buildkernel KERNCONF=whatever
> 8. make installkernel KERNCONF=whatever
> 9. make installworld
> 10. gasped in horror as the make installworld died.
>
> Also, while attempting to recover from this I noticed that almost everything
> in /bin had lost it's ABI type and had to be re-brandelf'd. Dunno what was
> up with that...
>
> Regardless, I've decided to just nuke /usr/obj and /usr/src and have another
> go at it. Hopefully my userland isn't too hosed to get thru it this time.
>
I can confirm that to be a real problem after actually having tried to
installworld with an empty DESTDIR.
The problem is that many installation tools that we copy and run during
installworld have /bin/sh hardcoded in them (e.g. make(1)), and after
the new /bin/sh is installed, make(1) attempted to run the new /bin/sh,
as opposed to /tmp/install.XXXX/sh available through a PATH.
The workaround was to temporarily remove "sh" from the SUBDIR list in
bin/Makefile, for installworld stage.
Another (late) problem was with host's makewhatis(1) which puts
/bin:/usr/bin before the supplied ${PATH}. Commenting out this
line in /usr/bin/makewhatis before installworld did the trick.
These are workarounds. The correct solution would be to make
sure that none of the tools from the PATH that we use during
installworld run non-PATH utils (from /bin, /usr/bin, etc.),
like Peter did for install(1) in xinstall.c,v 1.9.
Cheers,
--
Ruslan Ermilov Sysadmin and DBA,
ru@sunbay.com Sunbay Software AG,
ru@FreeBSD.org FreeBSD committer,
+380.652.512.251 Simferopol, Ukraine
http://www.FreeBSD.org The Power To Serve
http://www.oracle.com Enabling The Information Age
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020221090710.GB13262>
