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
--7gGkHNMELEOhSGF6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, May 22, 2002 at 07:53:18AM -0700, Ruslan Ermilov wrote: > ru 2002/05/22 07:53:18 PDT >=20 > Modified files: > usr.bin/make Makefile compat.c job.c main.c=20 > pathnames.h=20 > Log: > Do not run shell from /bin, run it from $PATH. > Bump MAKE_VERSION to 5200205221. > =20 > 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 >=20 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=3D" 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=3D"${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, --=20 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 --7gGkHNMELEOhSGF6 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (FreeBSD) iD8DBQE8674kUkv4P6juNwoRAvAOAJ9XU1TNYK63fKk1z3g2uun7NhYkAgCeOrvO fSLglx1DrkgkuCxmH5V2Bsc= =LJp9 -----END PGP SIGNATURE----- --7gGkHNMELEOhSGF6-- 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?20020522154956.GC55670>