Date: Wed, 22 May 2002 18:49:56 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: re@FreeBSD.org, stable@FreeBSD.org Subject: Status of upgrades from 4.0 to the recent 4.x (was: Re: cvs commit: src/usr.bin/make Makefile compat.c job.c main.c pathnames.h) Message-ID: <20020522154956.GC55670@sunbay.com> In-Reply-To: <200205221453.g4MErIa44225@freefall.freebsd.org> References: <200205221453.g4MErIa44225@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Wed, May 22, 2002 at 07:53:18AM -0700, Ruslan Ermilov wrote:
> ru 2002/05/22 07:53:18 PDT
>
> Modified files:
> usr.bin/make Makefile compat.c job.c main.c
> pathnames.h
> Log:
> Do not run shell from /bin, run it from $PATH.
> Bump MAKE_VERSION to 5200205221.
>
> Revision Changes Path
> 1.23 +1 -1 src/usr.bin/make/Makefile
> 1.27 +11 -3 src/usr.bin/make/compat.c
> 1.35 +5 -1 src/usr.bin/make/job.c
> 1.60 +10 -2 src/usr.bin/make/main.c
> 1.11 +2 -0 src/usr.bin/make/pathnames.h
>
I've been able to successfully upgrade a fresh 4.0-RELEASE to
4.6-RC2 with this patch applied to RELENG_4's make(1) sources.
The -DNOPERL is also required as gnu/usr.bin/perl/library/*
makefiles call /usr/obj Perl's MakeMaker generated makefiles
which have SHELL set to /bin/sh, and attempt to run shell from
here. The work-around is to modify the "sh=" setting in the
gnu/usr.bin/perl/libperl/config.*, but I'm not sure if this
is the correct fix or not. Mark Murray CC'ed for consultancy.
(If you're unfamiliar with the problem, ELF branding has been
changed between 4.0 and 4.1, and attempting to run 4.1 or
later's static "sh" binary doesn't work on 4.0).
With -DNOPERL, installworld still fails at the end trying to run
makewhatis(1) which attempts to run /usr/bin/perl. This is the
last thing in installworld anyway, and is not critical. There
are two possible fixes:
1. Merge revs. 1.12 and 1.13 of share/man/Makefile, and set
MAKEWHATIS="${INSTALLTMP}/perl ${INSTALLTMP}/makewhatis".
2. Merge the C version of makewhatis(1), it works very nice,
and produces much more sane output than the Perl version.
Alternatively, ``make -DNOPERL -DNOMAN installworld'' will
succeed if this change for make(1) MFC'ed and this make(1)
is used during installworld ("make make" from under /usr/src
will do this for you).
RE, I've verified that source upgrades from 4.1-RELEASE to
4.6-RC2 still work flawlessly.
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
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)
iD8DBQE8674kUkv4P6juNwoRAvAOAJ9XU1TNYK63fKk1z3g2uun7NhYkAgCeOrvO
fSLglx1DrkgkuCxmH5V2Bsc=
=LJp9
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020522154956.GC55670>
